You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Christian A. Kenyeres (JIRA)" <ji...@apache.org> on 2009/11/05 18:48:52 UTC

[jira] Created: (AMQ-2479) Channel was inactive for too long

Channel was inactive for too long
---------------------------------

                 Key: AMQ-2479
                 URL: https://issues.apache.org/activemq/browse/AMQ-2479
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.3.0
         Environment: Windows 2003 Server RC2, Enterprise Edition, SP2
            Reporter: Christian A. Kenyeres
            Priority: Critical


We have application #1 that pulls records from a DB, puts them into messages, and sends them to a local queue on server A. That queue routes to a 2nd queue on server B using camel routing. 

On Server A, the application log and AMQ log both show the messages being created and persisted in the queue.

On Server B, application #2 pulls, messages from its queue which were routed from the queue on Server A.

>From application #2's log, for a 2 minute period of time, ActiveMQ threw this exception:

14:11:01,317 ERROR [WrapperSimpleAppMain] (application2.java:1072) - Problem creating session... javax.jms.JMSException: Channel was inactive for too long: ServerB.foo.com/10.0.40.138:61616

and there were also 20 other Exceptions thrown:

14:12:27,158 ERROR [WrapperSimpleAppMain] (application2.java:1072) - Problem creating session... javax.jms.JMSException: Could not connect to broker URL: tcp://ServerB.foo.com:61616. Reason: java.net.ConnectException: Connection refused: connect

On Server B, application #2's log and the AMQ log have no record of 155 records that were verified as created, put into messages, and sent on Server A.

The application blew up and the wrapper service restarted it. All records & messages before the incident were ok before and after the incident.

The question is, what happened to the messages when the broker crashed on Server B?

Software used:
ActiveMQ 5.3.0
Camel 2.0.0
Java JDK 1.6u16
Java Service Wrapper (tanukisoftware) v 3.3.7 (x86-32)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (AMQ-2479) Channel was inactive for too long

Posted by "Christian A. Kenyeres (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian A. Kenyeres closed AMQ-2479.
--------------------------------------

    Resolution: Cannot Reproduce

> Channel was inactive for too long
> ---------------------------------
>
>                 Key: AMQ-2479
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2479
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.0
>         Environment: Windows 2003 Server RC2, Enterprise Edition, SP2
>            Reporter: Christian A. Kenyeres
>            Priority: Critical
>
> We have application #1 that pulls records from a DB, puts them into messages, and sends them to a local queue on server A. That queue routes to a 2nd queue on server B using camel routing. 
> On Server A, the application log and AMQ log both show the messages being created and persisted in the queue.
> On Server B, application #2 pulls, messages from its queue which were routed from the queue on Server A.
> From application #2's log, for a 2 minute period of time, ActiveMQ threw this exception:
> 14:11:01,317 ERROR [WrapperSimpleAppMain] (application2.java:1072) - Problem creating session... javax.jms.JMSException: Channel was inactive for too long: ServerB.foo.com/10.0.40.138:61616
> and there were also 20 other Exceptions thrown:
> 14:12:27,158 ERROR [WrapperSimpleAppMain] (application2.java:1072) - Problem creating session... javax.jms.JMSException: Could not connect to broker URL: tcp://ServerB.foo.com:61616. Reason: java.net.ConnectException: Connection refused: connect
> On Server B, application #2's log and the AMQ log have no record of 155 records that were verified as created, put into messages, and sent on Server A.
> The application blew up and the wrapper service restarted it. All records & messages before the incident were ok before and after the incident.
> The question is, what happened to the messages when the broker crashed on Server B?
> Software used:
> ActiveMQ 5.3.0
> Camel 2.0.0
> Java JDK 1.6u16
> Java Service Wrapper (tanukisoftware) v 3.3.7 (x86-32)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2479) Channel was inactive for too long

Posted by "Christian A. Kenyeres (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57607#action_57607 ] 

Christian A. Kenyeres commented on AMQ-2479:
--------------------------------------------

This issue appeared at random and it could not be successfully reproduced.

> Channel was inactive for too long
> ---------------------------------
>
>                 Key: AMQ-2479
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2479
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.0
>         Environment: Windows 2003 Server RC2, Enterprise Edition, SP2
>            Reporter: Christian A. Kenyeres
>            Priority: Critical
>
> We have application #1 that pulls records from a DB, puts them into messages, and sends them to a local queue on server A. That queue routes to a 2nd queue on server B using camel routing. 
> On Server A, the application log and AMQ log both show the messages being created and persisted in the queue.
> On Server B, application #2 pulls, messages from its queue which were routed from the queue on Server A.
> From application #2's log, for a 2 minute period of time, ActiveMQ threw this exception:
> 14:11:01,317 ERROR [WrapperSimpleAppMain] (application2.java:1072) - Problem creating session... javax.jms.JMSException: Channel was inactive for too long: ServerB.foo.com/10.0.40.138:61616
> and there were also 20 other Exceptions thrown:
> 14:12:27,158 ERROR [WrapperSimpleAppMain] (application2.java:1072) - Problem creating session... javax.jms.JMSException: Could not connect to broker URL: tcp://ServerB.foo.com:61616. Reason: java.net.ConnectException: Connection refused: connect
> On Server B, application #2's log and the AMQ log have no record of 155 records that were verified as created, put into messages, and sent on Server A.
> The application blew up and the wrapper service restarted it. All records & messages before the incident were ok before and after the incident.
> The question is, what happened to the messages when the broker crashed on Server B?
> Software used:
> ActiveMQ 5.3.0
> Camel 2.0.0
> Java JDK 1.6u16
> Java Service Wrapper (tanukisoftware) v 3.3.7 (x86-32)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2479) Channel was inactive for too long

Posted by "Christian A. Kenyeres (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55241#action_55241 ] 

Christian A. Kenyeres commented on AMQ-2479:
--------------------------------------------

Brokers are using kahaDB. They allow JMX.

==========================
Server A (applicationContext.xml)
==========================
<route>
	<from uri="activemq:queue:X.REQUEST.FOO.PRD"/>
	<to uri="serverB:queue:Y.REQUEST.FOO.PRD"/>
</route>
	
<!-- ActiveMQ on serverB.foo.com -->
<bean id="serverB" class="org.apache.activemq.camel.component.ActiveMQComponent">                                                
	<property name="brokerURL" value="tcp://serverB.foo.com:61616"/>
</bean>
		
==========================
Server B (applicationContext.xml)
==========================
<route>
	<from uri="activemq:queue:Y.REPLY.FOO.PRD"/>
	<to uri="serverA:queue:X.REPLY.FOO.PRD"/>
</route>

<!-- ActiveMQ on serverA.foo.com -->
<bean id="serverA" class="org.apache.activemq.camel.component.ActiveMQComponent">
	<property name="brokerURL" value="tcp://serverA.foo.com:61616"/>
</bean>


> Channel was inactive for too long
> ---------------------------------
>
>                 Key: AMQ-2479
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2479
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.0
>         Environment: Windows 2003 Server RC2, Enterprise Edition, SP2
>            Reporter: Christian A. Kenyeres
>            Priority: Critical
>
> We have application #1 that pulls records from a DB, puts them into messages, and sends them to a local queue on server A. That queue routes to a 2nd queue on server B using camel routing. 
> On Server A, the application log and AMQ log both show the messages being created and persisted in the queue.
> On Server B, application #2 pulls, messages from its queue which were routed from the queue on Server A.
> From application #2's log, for a 2 minute period of time, ActiveMQ threw this exception:
> 14:11:01,317 ERROR [WrapperSimpleAppMain] (application2.java:1072) - Problem creating session... javax.jms.JMSException: Channel was inactive for too long: ServerB.foo.com/10.0.40.138:61616
> and there were also 20 other Exceptions thrown:
> 14:12:27,158 ERROR [WrapperSimpleAppMain] (application2.java:1072) - Problem creating session... javax.jms.JMSException: Could not connect to broker URL: tcp://ServerB.foo.com:61616. Reason: java.net.ConnectException: Connection refused: connect
> On Server B, application #2's log and the AMQ log have no record of 155 records that were verified as created, put into messages, and sent on Server A.
> The application blew up and the wrapper service restarted it. All records & messages before the incident were ok before and after the incident.
> The question is, what happened to the messages when the broker crashed on Server B?
> Software used:
> ActiveMQ 5.3.0
> Camel 2.0.0
> Java JDK 1.6u16
> Java Service Wrapper (tanukisoftware) v 3.3.7 (x86-32)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2479) Channel was inactive for too long

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55199#action_55199 ] 

Gary Tully commented on AMQ-2479:
---------------------------------

you need to provide some more info here, like the route descriptions on #1 and #2.
In any event, #1 that does a dequeue and enqueue needs to use a dequeue transaction that spans the enqueue  such that there is no inflight message loss.
Also, in the event of B failure, the failover transport on the jms connection will do an auto reconnect.

How are the activemq components configured to access brokers, are the brokers persistent?
Again, attaching a test case or some variant of your routes would help.

> Channel was inactive for too long
> ---------------------------------
>
>                 Key: AMQ-2479
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2479
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.0
>         Environment: Windows 2003 Server RC2, Enterprise Edition, SP2
>            Reporter: Christian A. Kenyeres
>            Priority: Critical
>
> We have application #1 that pulls records from a DB, puts them into messages, and sends them to a local queue on server A. That queue routes to a 2nd queue on server B using camel routing. 
> On Server A, the application log and AMQ log both show the messages being created and persisted in the queue.
> On Server B, application #2 pulls, messages from its queue which were routed from the queue on Server A.
> From application #2's log, for a 2 minute period of time, ActiveMQ threw this exception:
> 14:11:01,317 ERROR [WrapperSimpleAppMain] (application2.java:1072) - Problem creating session... javax.jms.JMSException: Channel was inactive for too long: ServerB.foo.com/10.0.40.138:61616
> and there were also 20 other Exceptions thrown:
> 14:12:27,158 ERROR [WrapperSimpleAppMain] (application2.java:1072) - Problem creating session... javax.jms.JMSException: Could not connect to broker URL: tcp://ServerB.foo.com:61616. Reason: java.net.ConnectException: Connection refused: connect
> On Server B, application #2's log and the AMQ log have no record of 155 records that were verified as created, put into messages, and sent on Server A.
> The application blew up and the wrapper service restarted it. All records & messages before the incident were ok before and after the incident.
> The question is, what happened to the messages when the broker crashed on Server B?
> Software used:
> ActiveMQ 5.3.0
> Camel 2.0.0
> Java JDK 1.6u16
> Java Service Wrapper (tanukisoftware) v 3.3.7 (x86-32)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.