wiki:drmsUpdateJMD
Last modified 10 years ago Last modified on 06/18/14 12:56:15

Update the JMD (Java Mirroring Daemon for NetDRMS)

Sometimes it is necessary to install a new JMD jar file. JMD jar files are controlled by the VSO folks at the National Solar Observatory. If you are notified by the NSO that there is a new JMD jar file compatible with your current version of Java, you may wish to install it. To do so:

  1. wget the jar file from the path given by the NSO.
  2. Go to your vso path for JMDs. E.g.
    cd /opt/vso/JMD_v1.6.4.0.nohmi/jar 
    
    If you're not sure where the JMD is installed, but it's currently running, you can try:
     ps ax | grep JMD 
    
    and you should see a line similar to:
    33826 ?        Sl    17:18 /usr/lib/jvm/jdk1.7.0_17/jre/bin/java -Xmx2048m -Djava.io.tmpdir=/opt/vso/JMD_v1.6.4.0.nohmi/tmp -jar /opt/vso/JMD_v1.6.4.0.nohmi/jar/JMD_v1.6.6.0.jar --id SDAC --port 8080 --log /opt/vso/JMD_v1.6.4.0.nohmi/log --run /opt/vso/JMD_v1.6.4.0.nohmi/tmp --minThreads 10 --maxThreads 80 --cfg /opt/vso/JMD_v1.6.4.0.nohmi/cfg/JMD.cfg
    
  1. Copy the new jar file into the path for jar files. There is no need to remove the old one; the JMD will know what to do and will pick up the correct file.
  2. Stop the current jmd process, either as the correct user or through sudo:
    sudo /opt/JMD/bin/JMD.sh stop
    
  3. Make sure there is no other JMD process running.
    ps ax |grep java |grep JMD
    
  4. Delete the current jetty database and its directory. You will not lose data, as the JMD will rebuild the database on restart. It is important to delete the entire directory, not just its contents. (if you're really paranoid, tarball it before deleting it)
    ls /opt/vso/derby/derbyDB/  
    sudo rm -rf derbyDB
    
  5. Restart the JMD and check the logs:
    sudo /opt/JMD/bin/JMD.sh start
    tail (filename mentioned in start mesage)
    
  6. Logs should say something like:
    Jun 17, 2014 3:17:52 PM ServerJMD setLogLevel
    INFO: Setting new log level to [INFO]
    2014-06-17 15:17:52.520:INFO:oejs.Server:jetty-8.y.z-SNAPSHOT
    Jun 17, 2014 3:17:52 PM org.vso.jmd.JMD setLogLevel INFO: Setting new log level to [INFO]
    Jun 17, 2014 3:17:53 PM org.vso.jmd.JMD init INFO: Starting derby DB /opt/vso/derby/derbyDB at port 31001
    Jun 17, 2014 3:17:58 PM org.vso.jmd.JMD init INFO: ij connect string:[connect 'jdbc:derby://localhost:31001//opt/vso/derby/derbyDB';] on try 1
    Jun 17, 2014 3:18:01 PM org.vso.jmd.HouseKeepingThread run INFO: HouseKeepingThread: HouseKeeping heart beat ...
    Jun 17, 2014 3:18:01 PM org.vso.jmd.HouseKeepingThread run INFO: Compacting the derby Database
    Jun 17, 2014 3:18:01 PM org.vso.jmd.HouseKeepingThread run INFO: Derby Database Compacting Done
    2014-06-17 15:18:01.530:INFO:oejs.NCSARequestLog:Opened /var/log/jmd/jetty-2014_06_17.request.log
    2014-06-17 15:18:01.571:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080
    
    with no errors about Jetty not restarting.