[jboss-user] [JBoss Messaging] - PingTimerTask broken pipe

bob_walker99 do-not-reply at jboss.com
Tue Jul 3 05:49:19 EDT 2007


I just upgraded to 4.2.0/1.3.0GA and left the server running overnight, wth a couple of relatively heavy clients sending messages (approx 10,000 messages per client), and one receiver with a listener registered on my queue.

When I looked this morning, my client has nearly 300 "Timer-nnn" threads running, and the JBoss server.log is full of these:

2007-07-03 00:29:32,971 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: trying again
   4936 2007-07-03 00:29:32,971 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: trying again
   4937 2007-07-03 00:29:32,971 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: trying again
   4938 2007-07-03 00:29:32,971 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: trying again
   4939 2007-07-03 00:29:32,971 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: trying again
   4940 2007-07-03 00:29:32,971 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: trying again
   4941 2007-07-03 00:29:32,971 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: trying again
   4942 2007-07-03 00:29:33,032 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: trying again
   4943 2007-07-03 00:29:33,032 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: trying again
   4944 2007-07-03 00:29:33,032 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: trying again
   4945 2007-07-03 00:29:33,032 WARN  [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] Unable to send ping: shutting down PingTimerTask
   4946 java.net.SocketException: Write failed: Broken pipe
   4947     at jrockit.net.SocketNativeIO.writeBytesPinned(Native Method)
   4948     at jrockit.net.SocketNativeIO.socketWrite(Unknown Source)
   4949     at java.net.SocketOutputStream.socketWrite0(SocketOutputStream.java)
   4950     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
   4951     at java.net.SocketOutputStream.write(SocketOutputStream.java:115)
   4952     at org.jboss.remoting.transport.bisocket.BisocketClientInvoker$PingTimerTask.run(BisocketClientInvoker.java:497)
   4953     at java.util.TimerThread.mainLoop(Timer.java:512)
   4954     at java.util.TimerThread.run(Timer.java:462)

Presumably the server is using the ping to test the health of the registered client - but if this ping fails, it shouldn't leave an open thread in my client?

It looks like I'm going to have to roll back to 1.0.1 again, which is what I had to do when I tried 1.2.0 (for a different reason). This is really disappointing for me. I'm not using clustering at this stage - should I just be happy sticking with 1.0.1? I was of the impression that the newer releases offered efficiencies and performance gains, but if this is negligible, I'm happy to stick with what works for me.

I'm on an x86_64 box with 4Gb RAM running Suse SLES 9, with JBoss running on JRockit 6.0 - R27.2.0-131-78843-1.6.0-20070320-1507-linux-x86_64.

Any help greatly appreciated.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4059847#4059847

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4059847



More information about the jboss-user mailing list