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

Gagan commented on AMQ-6043:
----------------------------

Thanks for replying. currently its not possible for us to upgrade to 5.12.1. We 
had this issue twice in last three months but we aren't able to reproduce this 
issue.

Could you please provide us with change sets with fixes for failover transport 
in 5.12.1?
Many thanks:)


> CLONE - Occaional hangs on ensureConnectionInfoSent
> ---------------------------------------------------
>
>                 Key: AMQ-6043
>                 URL: https://issues.apache.org/jira/browse/AMQ-6043
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.9.1
>            Reporter: Gagan
>            Assignee: Timothy Bish
>         Attachments: blocked-connection-patch3
>
>
> When connecting to the broker, the client occasionally starts to hang. A 
> thread dump reveals:
> {noformat}
> "QuartzScheduler_Worker-7" prio=5 tid=0x0116f190 nid=0x1ce2400 waiting on 
> condition [0xf1fae000..0xf1fafb30]
>       at sun.misc.Unsafe.park(Native Method)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>       at 
> java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:341)
>       at 
> org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40)
>       at 
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:80)
>       at 
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1233)
>       at 
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1339)
>       - locked <0x10b9bdf8> (a java.lang.Object)
>       at 
> org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:298)
>       at org.jencks.amqpool.SessionPool.createSession(SessionPool.java:110)
>       at org.jencks.amqpool.SessionPool.makeObject(SessionPool.java:78)
>       at 
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:974)
>       at org.jencks.amqpool.SessionPool.borrowSession(SessionPool.java:53)
>       at 
> org.jencks.amqpool.ConnectionPool.createSession(ConnectionPool.java:89)
>       at 
> org.jencks.amqpool.XaConnectionPool.createSession(XaConnectionPool.java:51)
>       at 
> org.jencks.amqpool.PooledConnection.createSession(PooledConnection.java:132)
>       at 
> org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:200)
> {noformat}
> Looking closer at the code of {{ensureConnectionInfoSent}} in 
> {{ActiveMQConnection}}, it uses the method:
> {code}
> public Response syncSendPacket(Command command) throws JMSException {
> {code}
> which never times out, possibly causing everything to hang eternally. There 
> does seem to be an identical method that allows for a timeout. 
> {code}
>     public Response syncSendPacket(Command command, int timeout) throws 
> JMSException {
> {code}
> should / can ensureConnectionInfoSent use the one with the timeout instead?
> We're using the failover transport:
> failover:(tcp://<someIP>:54663?wireFormat.maxInactivityDuration=300000)?maxReconnectAttempts=10&amp;initialReconnectDelay=15000



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

Reply via email to