]
Yong Hao Gao updated JBMESSAGING-1462:
--------------------------------------
Fix Version/s: 1.4.0.SP3.CP13
(was: 1.4.0.SP3.CP12)
Message expiration is not correctly managed
-------------------------------------------
Key: JBMESSAGING-1462
URL:
https://issues.jboss.org/browse/JBMESSAGING-1462
Project: JBoss Messaging
Issue Type: Bug
Components: Messaging Core
Affects Versions: 1.4.1.GA
Environment: JBAS 5.0GA, JBM 1.4.1GA, persistence on Oracle 10i
Reporter: Ivan
Assignee: Yong Hao Gao
Fix For: 1.4.0.SP3.CP13, 1.4.8.GA
Attachments: JBMESSAGING-1462.java
1) A topic is created
2) A durable subscriber is created fro the topic
3) A message is sent on the topic
4) The durable subscriber pulls the message from the topic ( receive() ) but don't
ack
5) The durable subscriber is closed, subscriber session.unsuscribe(name) is called but an
exception is thrown and then the subsciber session is closed.
As result of this a message, expired, with DELIVERY_COUNT = 1 will remain on the database
forever.
The stacktrace of the exception thrown:
java.lang.IllegalStateException: Cannot remove references while deliveries are in
progress (Channel 521), there are 1
at
org.jboss.messaging.core.impl.ChannelSupport.removeAllReferences(ChannelSupport.java:394)
at
org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.internalRemoveBinding(MessagingPostOffice.java:1939)
at
org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.removeBinding(MessagingPostOffice.java:474)
at
org.jboss.jms.server.endpoint.ServerSessionEndpoint.unsubscribe(ServerSessionEndpoint.java:829)
at
org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advised$SessionAdvised$unsubscribe$aop(SessionAdvised.java:135)
at
org.jboss.jms.server.endpoint.advised.SessionAdvised$unsubscribe_8775578479443985821.invokeTarget(SessionAdvised$unsubscribe_8775578479443985821.java)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
at
org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at
org.jboss.jms.server.endpoint.advised.SessionAdvised.unsubscribe(SessionAdvised.java)
at
org.jboss.jms.wireformat.SessionUnsubscribeRequest.serverInvoke(SessionUnsubscribeRequest.java:74)
at
org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
at
org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
at
org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:549)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: