Mantis - Resin
Viewing Issue Advanced Details
2564 minor always 03-01-08 09:42 04-24-08 15:57
ferg  
ferg  
normal  
closed 3.1.5  
fixed  
none    
none 3.1.6  
0002564: watchdog with multiple resin.conf
He asked you previously about using multiple resin instances with multiple conf files managed by one watchdog and was told that this should work ok. In general, this is working for us but we have encountered a problem with restart which fails for all servers other than the first one to be started under the watchdog. See below for details. Please let us know if this is a bug or if we are doing something wrong !

Scenario
--------
Server abc is running on port 6631 with watchdog on 6630.
Server xyz is running on port 6634 under same watchdog on 6630.

Restart server xyz . Command line:
[...]/jdk150_11/bin/java -jar [...]/resin/src/resin-3.1.4/lib/resin.jar -conf [...]/resin/conf/xyz.conf -root-directory [...]/resin -log-directory [...]/resin/logs -server xyz restart

Get error :
  [2008/03/28 10:15:56.035] Watchdog stop: xyz
  [2008/03/28 10:15:56.035] Watchdog[xyz] stopping
  [2008/03/28 10:15:56.036] Watchdog[xyz] stopping Resin
  [2008/03/28 10:16:02.238]
  [2008/03/28 10:16:02.240] SunOS 5.9 sparc
  [2008/03/28 10:16:02.240] Java 1.5.0_11-b03, 32, mixed mode, ISO646-US, en, Sun Microsystems Inc.
  [2008/03/28 10:16:02.241] user.name: devmgr
  [2008/03/28 10:16:02.256] resin.home = [...]/resin/src/resin-3.1.4/
  [2008/03/28 10:16:02.256]
  [2008/03/28 10:16:02.321] Host[resin-admin] active
  [2008/03/28 10:16:02.356] Loaded Socket JNI library.
  [2008/03/28 10:16:07.845] Server[id=,cluster=] error
  java.lang.RuntimeException: java.net.BindException: Address already in use
  Can't bind to /[...]:6630.
  Check for another server listening to that port.
          at com.caucho.server.cluster.Server.start(Server.java:1191)
          at com.caucho.boot.ResinWatchdogManager.<init>(ResinWatchdogManager.java:138)
          at com.caucho.boot.ResinWatchdogManager.main(ResinWatchdogManager.java:284)
  Caused by: java.net.BindException: Address already in use
  Can't bind to /[...]:6630.
  Check for another server listening to that port.
          at com.caucho.vfs.QJniServerSocket.create(QJniServerSocket.java:103)
          at com.caucho.server.port.Port.bind(Port.java:958)
          at com.caucho.server.cluster.Server.bindPorts(Server.java:1225)
          at com.caucho.server.cluster.Server.start(Server.java:1175)
          ... 2 more


The server xyz can be 'stop'ped and 'start'ed successfully - only problem is with 'restart'.
Watchdog-manager.log for stop/start :

  [2008/03/28 10:28:14.764] Watchdog stop: xyz
  [2008/03/28 10:28:14.765] Watchdog[xyz] stopping
  [2008/03/28 10:28:14.766] Watchdog[xyz] stopping Resin

  [2008/03/28 10:28:29.843] starting Resin Watchdog[xyz]

Hi Mark,

This appears to be a bug. But can you try Resin 3.1.5? We have added
quite a few improvements and fixes in regards to the watchdog in 3.1.5?


There are no notes attached to this issue.