1 Reply Latest reply on May 18, 2008 2:47 AM by timfox

    Clients Hanging...

    clebert.suconic

      When I run the perfSender (without perfListener) it's very common the client hanging without an answer.

      The client keeps waiting on this condition, as if a message was dropped on the wire.

      [java] "main" prio=1 tid=0x000000004011d620 nid=0xa70 in Object.wait() [0x00007fff4bbc1000..0x00007fff4bbc2190]
       [java] at java.lang.Object.wait(Native Method)
       [java] - waiting on <0x00007f693877a5f0> (a org.jboss.messaging.core.client.impl.RemotingConnectionImpl$ResponseHandler)
       [java] at org.jboss.messaging.core.client.impl.RemotingConnectionImpl$ResponseHandler.waitForResponse(RemotingConnectionImpl.java:276)
       [java] - locked <0x00007f693877a5f0> (a org.jboss.messaging.core.client.impl.RemotingConnectionImpl$ResponseHandler)
       [java] at org.jboss.messaging.core.client.impl.RemotingConnectionImpl.sendBlocking(RemotingConnectionImpl.java:167)
       [java] at org.jboss.messaging.core.client.impl.ClientSessionImpl.close(ClientSessionImpl.java:485)
       [java] - locked <0x00007f691bbc12d0> (a org.jboss.messaging.core.client.impl.ClientSessionImpl)
       [java] at org.jboss.messaging.core.client.impl.ClientConnectionImpl.closeChildren(ClientConnectionImpl.java:222)
       [java] at org.jboss.messaging.core.client.impl.ClientConnectionImpl.close(ClientConnectionImpl.java:163)
       [java] - locked <0x00007f691bbc1490> (a org.jboss.messaging.core.client.impl.ClientConnectionImpl)
       [java] at org.jboss.messaging.jms.client.JBossConnection.close(JBossConnection.java:219)
       [java] at org.jboss.jms.example.PerfExample.runSender(PerfExample.java:137)
       [java] at org.jboss.jms.example.PerfExample.main(PerfExample.java:74)
       [java]
      


      This happens on Persistent or NonPersistent messages. Allthough on NonPersistent messages it would happen more frequently.

      Any idea why?


      I may do some research on this later (maybe monday). But maybe this is known issue.

        • 1. Re: Clients Hanging...
          timfox

           

          "clebert.suconic@jboss.com" wrote:
          When I run the perfSender (without perfListener) it's very common the client hanging without an answer.

          The client keeps waiting on this condition, as if a message was dropped on the wire.

          [java] "main" prio=1 tid=0x000000004011d620 nid=0xa70 in Object.wait() [0x00007fff4bbc1000..0x00007fff4bbc2190]
           [java] at java.lang.Object.wait(Native Method)
           [java] - waiting on <0x00007f693877a5f0> (a org.jboss.messaging.core.client.impl.RemotingConnectionImpl$ResponseHandler)
           [java] at org.jboss.messaging.core.client.impl.RemotingConnectionImpl$ResponseHandler.waitForResponse(RemotingConnectionImpl.java:276)
           [java] - locked <0x00007f693877a5f0> (a org.jboss.messaging.core.client.impl.RemotingConnectionImpl$ResponseHandler)
           [java] at org.jboss.messaging.core.client.impl.RemotingConnectionImpl.sendBlocking(RemotingConnectionImpl.java:167)
           [java] at org.jboss.messaging.core.client.impl.ClientSessionImpl.close(ClientSessionImpl.java:485)
           [java] - locked <0x00007f691bbc12d0> (a org.jboss.messaging.core.client.impl.ClientSessionImpl)
           [java] at org.jboss.messaging.core.client.impl.ClientConnectionImpl.closeChildren(ClientConnectionImpl.java:222)
           [java] at org.jboss.messaging.core.client.impl.ClientConnectionImpl.close(ClientConnectionImpl.java:163)
           [java] - locked <0x00007f691bbc1490> (a org.jboss.messaging.core.client.impl.ClientConnectionImpl)
           [java] at org.jboss.messaging.jms.client.JBossConnection.close(JBossConnection.java:219)
           [java] at org.jboss.jms.example.PerfExample.runSender(PerfExample.java:137)
           [java] at org.jboss.jms.example.PerfExample.main(PerfExample.java:74)
           [java]
          


          This happens on Persistent or NonPersistent messages. Allthough on NonPersistent messages it would happen more frequently.

          Any idea why?


          I may do some research on this later (maybe monday). But maybe this is known issue.


          When you close, the close is sent blocking and and will be ordered against any non blocking prior invocations, so all the sends need to be processed before close completes. If this takes longer than the block timeout it will timeout. Try increasing the timout.