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

ASF subversion and git services commented on QPIDJMS-242:
---------------------------------------------------------

Commit e7692d9d06d24e9660bcf4f90d8175fdd136ad66 in qpid-jms's branch 
refs/heads/master from [~tabish121]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-jms.git;h=e7692d9 ]

QPIDJMS-242 Creating a JMS resource can hang during failover reconnect

During failover the recovery attempts to recreate JMS resources that
were previously opened but recovers some resources that are still in the
process of being created lead to a double create effect on recover that
leads to the initial create call to hang.  Need to track state of the
JMS resources so that the failover recover can skip any tracked
instances that are either not yet opened or have already been closed.

> Creation of consumer, producer or session hangs when connection is in a 
> process of re-establishing by failover
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: QPIDJMS-242
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-242
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.11.1, 0.20.0
>         Environment: Qpid Broker 7.0.0-SNAPSHOT
>            Reporter: Alex Rudyy
>            Assignee: Timothy Bish
>         Attachments: ConsumerCreationHangsOnFailover.java, 
> broker-log.snippet.txt, thread-dump.txt
>
>
> The creation of consumer (Session#createConsumer) hangs if invoked when 
> underlying connection is being re-established by failover process. Even when 
> failover successfully restores the connectivity, the invoked method 
> createConsumer  does not return. I see the following in the stack trace:
> {noformat}
> "main" prio=10 tid=0x00007f2524009800 nid=0x3d5d waiting on condition 
> [0x00007f252b0e4000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x00000007ad360b30> (a 
> java.util.concurrent.CountDownLatch$Sync)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
>       at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236)
>       at 
> org.apache.qpid.jms.provider.ProviderFuture.sync(ProviderFuture.java:97)
>       at 
> org.apache.qpid.jms.JmsConnection.createResource(JmsConnection.java:601)
>       at 
> org.apache.qpid.jms.JmsConnection.createResource(JmsConnection.java:590)
>       at 
> org.apache.qpid.jms.JmsMessageConsumer.<init>(JmsMessageConsumer.java:114)
>       at 
> org.apache.qpid.jms.JmsMessageConsumer.<init>(JmsMessageConsumer.java:72)
>       at org.apache.qpid.jms.JmsSession.createConsumer(JmsSession.java:387)
>       at org.apache.qpid.jms.JmsSession.createConsumer(JmsSession.java:375)
>       at org.apache.qpid.jms.JmsSession.createConsumer(JmsSession.java:367)
>       at org.apache.qpid.jms.example.Test2.main(Test2.java:65)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:606)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
> {noformat}
> The consumer is created successfully on broker side. Broker even sends the 
> messages through.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to