activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-2067) After getting an EOFException with the JMS connection, the channel is inactive and the server is not able to recover its connection to ActiveMQ.
Date Mon, 09 Aug 2010 11:01:51 GMT

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

Gary Tully commented on AMQ-2067:
---------------------------------

scanned this issue again pre 5.4 and it looks like the exception thrown from the ActiveMQ
RA cleanup method should be handled by the RA contract and the connection should be removed
from the pool. It does not appear as if activemq is doing anything wrong in this case short
of reporting an exception that says it cannot cleanup an already closed or shutdown connection.

> After getting an EOFException with the JMS connection, the channel is inactive and the
server is not able to recover its connection to ActiveMQ.
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2067
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2067
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.0.0
>         Environment: Solaris with server JBOSS connecting to a standalone Message FUSE
Broker ActiveMQ server 5.0.0.14
>            Reporter: Pierre-Luc Dupont
>             Fix For: 5.4.0
>
>
> We have this problem and it is causing a lot of trouble since we need to restart our
server every time that this error occurs.
> Can someone help me to fix or give me a procedure to avoid this situation?
> Thank you!
> This is our configuration in our deploy folder.
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE connection-factories
>     PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
>     "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
> <connection-factories>
>    <tx-connection-factory>
>       <jndi-name>activemq/QueueConnectionFactory</jndi-name>
>       <xa-transaction/>
>       <track-connection-by-tx/>
>       <rar-name>activemq-rar-5.0.0.14-fuse.rar</rar-name>
>       <connection-definition>javax.jms.QueueConnectionFactory</connection-definition>
>       <ServerUrl>tcp://<host>:61616?wireFormat.maxInactivityDuration=0&amp;keepAlive=true</ServerUrl>
>       <!--
>       <UserName>sa</UserName>
>       <Password></Password>
>       -->
>       <min-pool-size>2</min-pool-size>
>       <max-pool-size>200</max-pool-size>
>       <blocking-timeout-millis>30000</blocking-timeout-millis>
>       <idle-timeout-minutes>1440</idle-timeout-minutes>
>    </tx-connection-factory>
>    <tx-connection-factory>
>       <jndi-name>activemq/TopicConnectionFactory</jndi-name>
>       <xa-transaction/>
>       <track-connection-by-tx/>
>       <rar-name>activemq-rar-5.0.0.14-fuse.rar</rar-name>
>       <connection-definition>javax.jms.TopicConnectionFactory</connection-definition>
>       <ServerUrl>tcp://<host>:61616?wireFormat.maxInactivityDuration=0&amp;keepAlive=true</ServerUrl>
>       <!--
>       <UserName>sa</UserName>
>       <Password></Password>
>       -->
>       <min-pool-size>2</min-pool-size>
>       <max-pool-size>200</max-pool-size>
>       <blocking-timeout-millis>30000</blocking-timeout-millis>
>       <idle-timeout-minutes>1440</idle-timeout-minutes>
>    </tx-connection-factory>
>    
>     ....
> </connection-factories>
> 22:59:21,007 WARN  [ActiveMQManagedConnection] Connection failed: javax.jms.JMSException:
java.io.EOFException
> 22:59:21,009 WARN  [TxConnectionManager] Connection error occured: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@1c3dfe[state=NORMAL
mc=org.apache.activemq.ra.ActiveMQManagedConnection@1ff0bb4 handles=1 lastUse=1231786631511
permit=true trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@1a83509
context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@321810 xaResource=org.apache.activemq.ra.ActiveMQManagedConnection$1@159773f
txSync=null]
> javax.jms.JMSException: java.io.EOFException
> 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
> 	at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1684)
> 	at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1701)
> 	at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99)
> 	at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
> 	at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99)
> 	at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99)
> 	at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:152)
> 	at org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:244)
> 	at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96)
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:187)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.EOFException
> 	at java.io.DataInputStream.readInt(DataInputStream.java:358)
> 	at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:269)
> 	at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:203)
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:195)
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> 	... 1 more
> 23:01:27,933 ERROR [ProductManager] End of a batch (2199 s,  0.227/sec). No failures
out of 500 products processed. Attempt 0 of 1
> 23:01:27,934 WARN  [BatchSink] Message (Product/addOrUpdate, x500), batch [258] on port
ABC processing STOPPED
> 23:01:27,936 INFO  [AdvisoryConsumer] Failed to send remove command: javax.jms.JMSException:
Channel was inactive for too long: <host>/<ipaddress>:61616
> javax.jms.JMSException: Channel was inactive for too long: <host>/<ipaddress>:61616
> 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
> 	at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1178)
> 	at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1170)
> 	at org.apache.activemq.AdvisoryConsumer.dispose(AdvisoryConsumer.java:56)
> 	at org.apache.activemq.ActiveMQConnection.cleanup(ActiveMQConnection.java:1353)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.cleanup(ActiveMQManagedConnection.java:250)
> 	at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.returnConnection(InternalManagedConnectionPool.java:320)
> 	at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.returnConnection(JBossManagedConnectionPool.java:620)
> 	at org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:363)
> 	at org.jboss.resource.connectionmanager.BaseConnectionManager2$BaseConnectionEventListener.connectionErrorOccurred(BaseConnectionManager2.java:756)
> 	at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connectionErrorOccurred(TxConnectionManager.java:676)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.fireErrorOccurredEvent(ActiveMQManagedConnection.java:189)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.onException(ActiveMQManagedConnection.java:408)
> 	at org.apache.activemq.ActiveMQConnection$3.run(ActiveMQConnection.java:1690)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: org.apache.activemq.transport.InactivityIOException: Channel was inactive
for too long: <host>/<ipaddress>:61616
> 	at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:225)
> 	at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:83)
> 	at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:100)
> 	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> 	at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
> 	at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1176)
> 	... 15 more
> 23:01:27,939 WARN  [JBossManagedConnectionPool] ResourceException cleaning up ManagedConnection:
org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@1c3dfe[state=NORMAL
mc=org.apache.activemq.ra.ActiveMQManagedConnection@1ff0bb4 handles=0 lastUse=1231786631511
permit=true trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@1a83509
context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@321810 xaResource=org.apache.activemq.ra.ActiveMQManagedConnection$1@159773f
txSync=null]
> javax.resource.ResourceException: Could cleanup the ActiveMQ connection: javax.jms.JMSException:
Channel was inactive for too long: <host>/<ipaddress>:61616
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.cleanup(ActiveMQManagedConnection.java:252)
> 	at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.returnConnection(InternalManagedConnectionPool.java:320)
> 	at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.returnConnection(JBossManagedConnectionPool.java:620)
> 	at org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:363)
> 	at org.jboss.resource.connectionmanager.BaseConnectionManager2$BaseConnectionEventListener.connectionErrorOccurred(BaseConnectionManager2.java:756)
> 	at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connectionErrorOccurred(TxConnectionManager.java:676)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.fireErrorOccurredEvent(ActiveMQManagedConnection.java:189)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.onException(ActiveMQManagedConnection.java:408)
> 	at org.apache.activemq.ActiveMQConnection$3.run(ActiveMQConnection.java:1690)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: javax.jms.JMSException: Channel was inactive for too long: <host>/<ipaddress>:61616
> 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
> 	at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1178)
> 	at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1170)
> 	at org.apache.activemq.ActiveMQConnection.cleanup(ActiveMQConnection.java:1376)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.cleanup(ActiveMQManagedConnection.java:250)
> 	... 11 more
> Caused by: org.apache.activemq.transport.InactivityIOException: Channel was inactive
for too long: <host>/<ipaddress>:61616
> 	at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:225)
> 	at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:83)
> 	at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:100)
> 	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> 	at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
> 	at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1176)
> 	... 14 more
> 23:01:27,945 WARN  [ActiveMQManagedConnection] Connection failed: javax.jms.JMSException:
Channel was inactive for too long: <host>/<ipaddress>:61616

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


Mime
View raw message