Exceptions and Inconsistent Display of listMessageCountersAs
rtm333 Jun 5, 2007 10:19 AMHi,
JBoss Messaging 1.3.0.GA on JBoss AS 4.2.0.GA shows the following behaviour:
When opening and closing JMS sessions in quick succession while concurrently publishing messages at a fast rate (using the test program from JIRA JBMESSAGING-962) exceptions as the ones below are thrown on the server side:
... 14:38:52,589 ERROR [ExceptionUtil] ConsumerEndpoint[2596] close [a5g2y2e-9slm11-f2kcioip-1-f2kcyvu5-10w] java.lang.IllegalStateException: Cannot remove references while deliveries are in progress at org.jboss.messaging.core.ChannelSupport.removeAllReferences(ChannelSupport.java:340) at org.jboss.messaging.core.plugin.postoffice.DefaultPostOffice.unbindQueue(DefaultPostOffice.java:240) at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.localClose(ServerConsumerEndpoint.java:502) at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.close(ServerConsumerEndpoint.java:381) at org.jboss.jms.server.endpoint.advised.ConsumerAdvised.org$jboss$jms$server$endpoint$advised$ConsumerAdvised$close$aop(ConsumerAdvised.java:59) at org.jboss.jms.server.endpoint.advised.ConsumerAdvised$close_N4742752445160157748.invokeNext(ConsumerAdvised$close_N4742752445160157748.java) at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105) at org.jboss.jms.server.endpoint.advised.ConsumerAdvised$close_N4742752445160157748.invokeNext(ConsumerAdvised$close_N4742752445160157748.java) at org.jboss.jms.server.endpoint.advised.ConsumerAdvised.close(ConsumerAdvised.java) at org.jboss.jms.wireformat.CloseRequest.serverInvoke(CloseRequest.java:66) at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:141) at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734) at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560) at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:383) at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165) 14:38:52,591 WARN [Dispatcher] Cannot find object with id 2596 to register 14:38:52,592 ERROR [ExceptionUtil] SessionEndpoint[2595] close [a5g2y2e-9slm11-f2kcioip-1-f2kcyvu8-10x] javax.jms.IllegalStateException: Cannot find binding for topic sub with queue name: a5g2y2e-9slm11-f2kcioip-1-f2kcyv93-10u at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.localClose(ServerConsumerEndpoint.java:490) at org.jboss.jms.server.endpoint.ServerSessionEndpoint.localClose(ServerSessionEndpoint.java:795) at org.jboss.jms.server.endpoint.ServerSessionEndpoint.close(ServerSessionEndpoint.java:275) at org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advised$SessionAdvised$close$aop(SessionAdvised.java:70) at org.jboss.jms.server.endpoint.advised.SessionAdvised$close_N4742752445160157748.invokeNext(SessionAdvised$close_N4742752445160157748.java) at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105) at org.jboss.jms.server.endpoint.advised.SessionAdvised$close_N4742752445160157748.invokeNext(SessionAdvised$close_N4742752445160157748.java) at org.jboss.jms.server.endpoint.advised.SessionAdvised.close(SessionAdvised.java) at org.jboss.jms.wireformat.CloseRequest.serverInvoke(CloseRequest.java:66) at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:141) at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734) at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560) at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:383) at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165) ...
In addition, the result of the method listMessageCountersAsHTML() of the ServerPeer in the JMX Console shows stranded subscriptions. Even long after closing all subscriptions, this list shows still some forty entries. One of these entries is for "a5g2y2e-9slm11-f2kcioip-1-f2kcyv93-10u", mentioned in the second exception above. The result of listAllSubscriptionsAsHTML() of the used topic is empty at the same time.