You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2009/05/01 17:45:38 UTC
[jira] Created: (AMQ-2241) 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:
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.
[jira] Commented: (AMQ-2241) 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:
Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Resolved: (AMQ-2241) 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:
Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQ-2241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Tully resolved AMQ-2241.
-----------------------------
Resolution: Fixed
resolved in r771718
> 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.