You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Scott Feldstein (JIRA)" <ji...@apache.org> on 2015/06/05 23:37:01 UTC

[jira] [Comment Edited] (AMQ-5788) Failover issue: IllegalStateException: Cannot remove session | producer from connection that had not been registered

    [ https://issues.apache.org/jira/browse/AMQ-5788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14575266#comment-14575266 ] 

Scott Feldstein edited comment on AMQ-5788 at 6/5/15 9:36 PM:
--------------------------------------------------------------

I'm seeing the same issue using the replicatedLevelDB on activemq 5.11.1.  The client uses spring-boot with apache camel version 2.15.2

When this occurs it appears that activemq will not process anymore requests from the origin host.  Not sure if this is the root cause of why the cluster won't process requests from this host, but I do see this message pop up.  All other hosts appear to work fine.  Unfortunately I don't know how to reproduce at this time.

Here is the stack:

{code}
activemq 2015-06-05 13:28:45,798 WARN  [ActiveMQ Transport: tcp:///10.1.1.244:47420@61616] [org.apache.activemq.broker.TransportConnection.Service@312] Async error occurred:
java.lang.IllegalStateException: Cannot remove session from connection that had not been registered: ID:frontend.localdomain-33086-1433535426896-1:2
        at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:722)
        at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:74)
        at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334)
        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188)
        at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
        at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270)
        at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
        at java.lang.Thread.run(Thread.java:745)
{code}


was (Author: scottmf):
I'm seeing the same issue using the replicatedLevelDB on activemq 5.11.1.  The client uses spring-boot with apache camel version 2.15.2

When this occurs it appears that activemq will not process anymore requests from the origin host.  Not sure if this is the root cause of why the cluster won't process requests from this host, but I do this this message pop up.  All other hosts appear to work fine.  Unfortunately I don't know how to reproduce at this time.

Here is the stack:

{code}
activemq 2015-06-05 13:28:45,798 WARN  [ActiveMQ Transport: tcp:///10.1.1.244:47420@61616] [org.apache.activemq.broker.TransportConnection.Service@312] Async error occurred:
java.lang.IllegalStateException: Cannot remove session from connection that had not been registered: ID:frontend.localdomain-33086-1433535426896-1:2
        at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:722)
        at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:74)
        at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334)
        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188)
        at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
        at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270)
        at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
        at java.lang.Thread.run(Thread.java:745)
{code}

> Failover issue: IllegalStateException: Cannot remove session | producer from connection that had not been registered
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-5788
>                 URL: https://issues.apache.org/jira/browse/AMQ-5788
>             Project: ActiveMQ
>          Issue Type: Bug
>            Reporter: Endre Stølsvik
>
> I am evidently having major problems with failover TCP transport, getting these types of exceptions after a master has shut down and another of the "hot standby" (using JDBC "Cluster" configuration) takes over (aquires the lease):
> {code}
> 2015-05-20 16:11:51,186 [ActiveMQ Transport: tcp:///127.0.0.1:50160@61617] DEBUG o.a.a.b.TransportConnection.Service - Error occured while processing async command: RemoveInfo {commandId = 274, responseRequired = false, objectId = ID:SVGD122-63456-1432130352376-1:2:136, lastDeliveredSequenceId = 0}, exception: java.lang.IllegalStateException: Cannot remove session from connection that had not been registered: ID:SVGD122-63456-1432130352376-1:2 
> java.lang.IllegalStateException: Cannot remove session from connection that had not been registered: ID:SVGD122-63456-1432130352376-1:2
> 	at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:722) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:74) ~[activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188) [activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) [activemq-client-5.11.1.jar:5.11.1]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
> 2015-05-20 16:11:51,186 [ActiveMQ Transport: tcp:///127.0.0.1:50160@61617] WARN  o.a.a.b.TransportConnection.Service - Async error occurred:  
> java.lang.IllegalStateException: Cannot remove session from connection that had not been registered: ID:SVGD122-63456-1432130352376-1:2
> 	at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:722) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:74) ~[activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188) [activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) [activemq-client-5.11.1.jar:5.11.1]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
> {code}
> {code}
> 2015-05-20 16:11:47,280 [ActiveMQ Transport: tcp:///127.0.0.1:50146@61617] DEBUG o.a.a.b.TransportConnection.Service - Error occured while processing async command: ActiveMQMessage {commandId = 177, responseRequired = false, messageId = ID:SVGD122-63456-1432130352376-1:1:1:1:89, originalDestination = null, originalTransactionId = null, producerId = ID:SVGD122-63456-1432130352376-1:1:1:1, destination = queue://ActiveMQ.Statistics.Broker, transactionId = null, expiration = 0, timestamp = 1432131107279, arrival = 0, brokerInTime = 0, brokerOutTime = 0, correlationId = null, replyTo = topic://ABC.JWActiveMQ.StatisticsMessage, persistent = false, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = null, marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties = false, readOnlyBody = false, droppable = false, jmsXGroupFirstForConsumer = false}, exception: java.lang.IllegalStateException: Cannot lookup a producer from a connection that had not been registered: ID:SVGD122-63456-1432130352376-1:1 
> java.lang.IllegalStateException: Cannot lookup a producer from a connection that had not been registered: ID:SVGD122-63456-1432130352376-1:1
> 	at org.apache.activemq.broker.SingleTransportConnectionStateRegister.lookupConnectionState(SingleTransportConnectionStateRegister.java:93) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection.lookupConnectionState(TransportConnection.java:1599) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection.getProducerBrokerExchange(TransportConnection.java:1469) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:539) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768) ~[activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188) [activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) [activemq-client-5.11.1.jar:5.11.1]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
> 2015-05-20 16:11:47,281 [ActiveMQ Transport: tcp:///127.0.0.1:50146@61617] WARN  o.a.a.b.TransportConnection.Service - Async error occurred:  
> java.lang.IllegalStateException: Cannot lookup a producer from a connection that had not been registered: ID:SVGD122-63456-1432130352376-1:1
> 	at org.apache.activemq.broker.SingleTransportConnectionStateRegister.lookupConnectionState(SingleTransportConnectionStateRegister.java:93) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection.lookupConnectionState(TransportConnection.java:1599) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection.getProducerBrokerExchange(TransportConnection.java:1469) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:539) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768) ~[activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334) ~[activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188) [activemq-broker-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) [activemq-client-5.11.1.jar:5.11.1]
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) [activemq-client-5.11.1.jar:5.11.1]
> 	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)