[
https://issues.apache.org/activemq/browse/AMQ-2241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=51477#action_51477
]
Gary Tully commented on AMQ-2241:
---------------------------------
problem is that on a duplicate connection, for instance on failover but when
the broker has not yet disposed of its connection info, it is possible to get a
duplicate connection request. the state is reset to have the second connection
take over which is ok, but the default session is not recreated on the reset
state so the submission of the advisory consumer fails with no session.
> On failover it is possible to get duplicate connections broker side which can
> result in: Cannot add a consumer to a session that had not been registered:
> ---------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQ-2241
> URL: https://issues.apache.org/activemq/browse/AMQ-2241
> Project: ActiveMQ
> Issue Type: Bug
> Components: Transport
> Affects Versions: 5.2.0
> Reporter: Gary Tully
> Assignee: Gary Tully
> Fix For: 5.3.0
>
>
> localhost Cannot add a consumer to a session that had not been registered:
> ID:localhost-40888-1241048176812-0:19:-1
> at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
> at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1255)
> at org.apache.activemq.AdvisoryConsumer.<init>(AdvisoryConsumer.java:50)
> at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1359)
> at
> org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:300)
> at
> org.apache.activemq.ra.ManagedConnectionProxy.createSessionProxy(ManagedConnectionProxy.java:119)
> at
> org.apache.activemq.ra.ManagedConnectionProxy.createSession(ManagedConnectionProxy.java:105)
> at
> org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196)
> at
> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:462)
> ... 35 more
> Caused by: java.lang.IllegalStateException: localhost Cannot add a consumer
> to a session that had not been registered:
> ID:localhost-40888-1241048176812-0:19:-1
> at
> org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:540)
> at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:349)
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:308)
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:182)
> at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> at
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
> at
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:210)
> at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
> at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:203)
> at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
> at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.