0 Replies Latest reply on Jun 14, 2004 4:01 PM by bsteph

    socketTimeoutException in OILServerILService$Client.run due

    bsteph

      My apologies if this is the wrong place for this topic. I'm having an issue where socketTimeoutExceptions are occurring due to the OS clock getting set forward in the mornings using a network time server.

      What's happening is the following:
      My server is up and running when I go home in the evening. Every morning, a Windows scheduled task runs that executes the following batch file:
      'net time \\<time_server> /set /y'
      It seems that if the clock has fallen behind on the server by some threshold, then after synching the time, I get socketTimeoutExceptions from OILServerILService, and the server stops accepting new connections. I found a little information on the web stating that there is a default read timeout of 70 seconds, and that the client pings the server every 60 seconds. My question is, is there an ideal way of working around this problem? I do performance testing using multiple servers, and they need to have synchronized clocks for the performance data to properly correlate. I could potentially just manually synch them then restart JBoss, but this is definitely not ideal. Any recommendations?

      A snippet of the exception trace from JBoss' server.log:

      2004-06-12 10:07:25,095 WARN [org.jboss.mq.il.oil.OILServerILService] Connection failure (1).
      java.net.SocketTimeoutException: Read timed out
      at java.net.SocketInputStream.socketRead0(Native Method)
      at java.net.SocketInputStream.read(Unknown Source)
      at java.io.BufferedInputStream.fill(Unknown Source)
      at java.io.BufferedInputStream.read(Unknown Source)
      at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
      at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(Unknown Source)
      at java.io.ObjectInputStream$BlockDataInputStream.refill(Unknown Source)
      at java.io.ObjectInputStream$BlockDataInputStream.read(Unknown Source)
      at java.io.ObjectInputStream$BlockDataInputStream.readByte(Unknown Source)
      at java.io.ObjectInputStream.readByte(Unknown Source)
      at org.jboss.mq.il.oil.OILServerILService$Client.run(OILServerILService.java:206)
      at java.lang.Thread.run(Unknown Source)
      2004-06-12 10:08:08,267 WARN [org.jboss.mq.Connection] Connection failure:
      org.jboss.mq.SpyJMSException: Connection Failed; - nested throwable: (java.io.EOFException)
      at org.jboss.mq.Connection.asynchFailure(Connection.java:718)
      at org.jboss.mq.Connection$PingTask.run(Connection.java:1311)
      at EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run(ClockDaemon.java:364)
      at java.lang.Thread.run(Unknown Source)
      Caused by: java.io.EOFException
      at java.io.ObjectInputStream$BlockDataInputStream.readByte(Unknown Source)
      at java.io.ObjectInputStream.readByte(Unknown Source)
      at org.jboss.mq.il.oil.OILServerIL.waitAnswer(OILServerIL.java:601)
      at org.jboss.mq.il.oil.OILServerIL.ping(OILServerIL.java:424)
      at org.jboss.mq.Connection.pingServer(Connection.java:1141)
      at org.jboss.mq.Connection$PingTask.run(Connection.java:1307)
      ... 2 more
      ....