[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14660086#comment-14660086 ] ASF subversion and git services commented on QPID-3521: --- Commit 1694509 from oru...@apache.org in branch 'java/trunk' [ https://svn.apache.org/r1694509 ] QPID-3521: Restore AMQConnection#doWithAllLocks(Runnable) and move part of failover specific functionality from FailoverHandler into AMQProtocolHandler Reduce coupling between AMQProtocolHandler and AMQProtocolSession by swapping some methods Remove unneeded ConnectionHelper > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Alex Rudyy > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. > We need to clear the pre-dispatch queue on failover. Additionally, we need to > acquire dispatcher and messageDelivery locks in failover thread in order to > prevent the dispatcher from dispatching pre-fetched messages whilst failover > is in progress. If we are not holding the locks, the dispatcher could > continue dispatching prefetched messages into MessageListener which would > result in unnecessary JMSExceptions on acknowledge/rollback/commit/recover. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14660087#comment-14660087 ] ASF subversion and git services commented on QPID-3521: --- Commit 1694510 from oru...@apache.org in branch 'java/trunk' [ https://svn.apache.org/r1694510 ] QPID-3521: Move AMQProtocolHandler into parent package to get access to package protected methods on AMQConnection > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Alex Rudyy > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. > We need to clear the pre-dispatch queue on failover. Additionally, we need to > acquire dispatcher and messageDelivery locks in failover thread in order to > prevent the dispatcher from dispatching pre-fetched messages whilst failover > is in progress. If we are not holding the locks, the dispatcher could > continue dispatching prefetched messages into MessageListener which would > result in unnecessary JMSExceptions on acknowledge/rollback/commit/recover. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14659832#comment-14659832 ] Alex Rudyy commented on QPID-3521: -- Keith, We updated the JIRA description about the rationale to acquire dispatcher/messageDelivery locks in failover thread. Regarding, your comment about sorting out draining queue functionality. Yes, it make sense to move it into the corresponding subclasses > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Alex Rudyy > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. > We need to clear the pre-dispatch queue on failover. Additionally, we need to > acquire dispatcher and messageDelivery locks in failover thread in order to > prevent the dispatcher from dispatching pre-fetched messages whilst failover > is in progress. If we are not holding the locks, the dispatcher could > continue dispatching prefetched messages into MessageListener which would > result in unnecessary JMSExceptions on acknowledge/rollback/commit/recover. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14659826#comment-14659826 ] Rob Godfrey commented on QPID-3521: --- Looking at it briefly yesterday, my thoughts were in the same direction - moving more of the responsibility into AMQProtocolHandler and moving AMQProtocolHandler into the same package as AMQConnection. In terms of visibility of methods, my view is that it is safer to "hide" the locks as much as possible and expose methods (like doWithAllLocks) where the locking order is guaranteed to be "safe". By allowing/encouraging other classes to take out the locks on Connections/Sessions we are making it more difficult to ensure we always use safe lock acquisition orders. So... I think I would be doing both 1) and 2) :-) > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Alex Rudyy > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14659808#comment-14659808 ] Keith Wall commented on QPID-3521: -- A couple of comments: # What is the rationale behind taking of AllConnectionAndSessionLocks for failover on the 0-10 and 0-8..0-91 paths? I think it would be useful to write this down (on this Jira). # We have a plethora on 'clean' dispatch queue type methods building up on AMQSession - some exclusively for 0-10 and some for 0-8..0-91 and these contribute to making the code hard to fathom. I wonder if this methods should be pushed down to the respective subclasses? (Sorting this out properly is beyond the scope of the Jira). > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Alex Rudyy > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14659777#comment-14659777 ] Alex Rudyy commented on QPID-3521: -- The rational behind moving functionality from AMQConnection#doWithAllLocks(Runnable) into ConnectionHelper#doWithAllConnectionAndSessionLocks(Runnable) was to be able to run 0.8 failover with the all locks acquired without introduction of public method on AMQConnection or changing visibility to public for AMQConnection#doWithAllLocks(Runnable). At the moment we are considering to get rid of ConnectionHelper by either of following: 1) Restoring AMQConnection#doWithAllLocks(Runnable) and introduction of additional interface on AMQProtocolHandler with a single method responsible for failover running and having private implementation on AMQConnection which can be passed into AMQProtocolHandler constructor as a parameter 2) Restoring AMQConnection#doWithAllLocks(Runnable) and moving FailoverHandler into AMQConnection package, thus it can call AMQConnection#doWithAllLocks > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Alex Rudyy > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14659776#comment-14659776 ] Alex Rudyy commented on QPID-3521: -- The rational behind moving functionality from AMQConnection#doWithAllLocks(Runnable) into ConnectionHelper#doWithAllConnectionAndSessionLocks(Runnable) was to be able to run 0.8 failover with the all locks acquired without introduction of public method on AMQConnection or changing visibility to public for AMQConnection#doWithAllLocks(Runnable). At the moment we are considering to get rid of ConnectionHelper by either of following: 1) Restoring AMQConnection#doWithAllLocks(Runnable) and introduction of additional interface on AMQProtocolHandler with a single method responsible for failover running and having private implementation on AMQConnection which can be passed into AMQProtocolHandler constructor as a parameter 2) Restoring AMQConnection#doWithAllLocks(Runnable) and moving FailoverHandler into AMQConnection package, thus it can call AMQConnection#doWithAllLocks > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Alex Rudyy > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14658768#comment-14658768 ] ASF subversion and git services commented on QPID-3521: --- Commit 1694307 from oru...@apache.org in branch 'java/trunk' [ https://svn.apache.org/r1694307 ] QPID-3521: Fix failing test and remove FailoverBehaviourTest#testFailoverWhenConnectionStopped from cpp excludes > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Alex Rudyy > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14658742#comment-14658742 ] Rob Godfrey commented on QPID-3521: --- What's the rationale for adding the ConnectionHelper class - moving the functionality from AMQConnection to a static method which then operates on the connection? Refactoring in this way doesn't seem to add any tangible benefits and seems simply to move methods from the class they affect to a separate file. There's certainly a lot of valuable refactoring that could be done around the client... but I'm not sure this is really an improvement > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Alex Rudyy > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14658682#comment-14658682 ] Keith Wall commented on QPID-3521: -- It appears that commit r1694254 is causing a unit test failure: {noformat} Running org.apache.qpid.client.AMQSession_0_8Test Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.682 sec <<< FAILURE! - in org.apache.qpid.client.AMQSession_0_8Test testResubscribe(org.apache.qpid.client.AMQSession_0_8Test) Time elapsed: 0.369 sec <<< FAILURE! org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked: unprocessedMessage.dispatch( org.apache.qpid.client.AMQSession_0_8@6f7923a5 ); -> at org.apache.qpid.client.AMQSession_0_8Test.testResubscribe(AMQSession_0_8Test.java:165) However, there were other interactions with this mock: -> at org.apache.qpid.client.AMQSession.messageReceived(AMQSession.java:1712) at org.apache.qpid.client.AMQSession_0_8Test.testResubscribe(AMQSession_0_8Test.java:165) Results : Failed tests: AMQSession_0_8Test>QpidTestCase.run:156->QpidTestCase.runTest:171->testResubscribe:165 Wanted but not invoked: unprocessedMessage.dispatch( org.apache.qpid.client.AMQSession_0_8@6f7923a5 ); -> at org.apache.qpid.client.AMQSession_0_8Test.testResubscribe(AMQSession_0_8Test.java:165) However, there were other interactions with this mock: -> at org.apache.qpid.client.AMQSession.messageReceived(AMQSession.java:1712) {noformat} > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Keith Wall > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14658427#comment-14658427 ] ASF subversion and git services commented on QPID-3521: --- Commit 1694254 from oru...@apache.org in branch 'java/trunk' [ https://svn.apache.org/r1694254 ] QPID-3521: [Java Client] Stop using dispatcher to clear pre-dispatch queue on 0.8/0.9.x client in order to avoid dead locks. Address review comments. > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Keith Wall > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14653924#comment-14653924 ] Alex Rudyy commented on QPID-3521: -- It seems that might changes causes the deadlock on 0-9 path when Session is closed whilst failover is in progress: {noformat} "Failover" prio=10 tid=0x7fe0d804e000 nid=0x657c waiting on condition [0x7fe0cf1f] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0xf41c2528> (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.client.AMQSession.drainDispatchQueue(AMQSession.java:2306) at org.apache.qpid.client.AMQSession.drainDispatchQueueWithDispatcher(AMQSession.java:3697) at org.apache.qpid.client.AMQSession_0_8.resubscribe(AMQSession_0_8.java:186) at org.apache.qpid.client.AMQConnectionDelegate_8_0.resubscribeSessions(AMQConnectionDelegate_8_0.java:379) at org.apache.qpid.client.AMQConnection.resubscribeSessions(AMQConnection.java:1387) at org.apache.qpid.client.failover.FailoverHandler.run(FailoverHandler.java:221) - locked <0xf35412c0> (a java.lang.Object) at java.lang.Thread.run(Thread.java:745) "Dispatcher-2-Conn-84" prio=10 tid=0x7fe1341c nid=0x657a waiting for monitor entry [0x7fe0cf4f3000] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.qpid.client.AMQSession$Dispatcher.dispatchMessage(AMQSession.java:3492) - waiting to lock <0xf35c8e78> (a java.lang.Object) - locked <0xf3cbea70> (a java.lang.Object) at org.apache.qpid.client.AMQSession$Dispatcher.access$1000(AMQSession.java:3279) at org.apache.qpid.client.AMQSession.dispatch(AMQSession.java:3272) at org.apache.qpid.client.message.UnprocessedMessage.dispatch(UnprocessedMessage.java:54) at org.apache.qpid.client.AMQSession$Dispatcher.run(AMQSession.java:3410) - locked <0xf3cbea70> (a java.lang.Object) at java.lang.Thread.run(Thread.java:745) "main" prio=10 tid=0x7fe134008800 nid=0x58f1 waiting for monitor entry [0x7fe13d822000] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.qpid.client.AMQSession.close(AMQSession.java:728) - waiting to lock <0xf35412c0> (a java.lang.Object) - locked <0xf35c8e78> (a java.lang.Object) at org.apache.qpid.client.AMQSession.close(AMQSession.java:447) at org.apache.qpid.client.failover.FailoverBehaviourTest.sessionCloseWhileFailoverImpl(FailoverBehaviourTest.java:1705) at org.apache.qpid.client.failover.FailoverBehaviourTest.testClientAcknowledgedSessionCloseWhileFailover(FailoverBehaviourTest.java:702) 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 junit.framework.TestCase.runTest(TestCase.java:176) at org.apache.qpid.test.utils.QpidTestCase.runTest(QpidTestCase.java:171) at junit.framework.TestCase.runBare(TestCase.java:141) at org.apache.qpid.test.utils.QpidBrokerTestCase.runBare(QpidBrokerTestCase.java:332) at junit.framework.TestResult$1.protect(TestResult.java:122) at junit.framework.TestResult.runProtected(TestResult.java:142) at junit.framework.TestResult.run(TestResult.java:125) at junit.framework.TestCase.run(TestCase.java:129) at org.apache.qpid.test.utils.QpidTestCase.run(QpidTestCase.java:156) at junit.framework.TestSuite.runTest(TestSuite.java:255) at junit.framework.TestSuite.run(TestSuite.java:250) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBoote
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14653332#comment-14653332 ] Alex Rudyy commented on QPID-3521: -- Keith, I raised JIRA [QPID-6677|https://issues.apache.org/jira/browse/QPID-6677] to address your comment #1. Regarding comment #2: The test does not only test stop functionality. The primary purpose of it is to make sure that pre-dispatch queue with messages is drained regardless whether dispatcher stopped or not. I could not figure out the better way to make sure that messages are prefetched and have not get into the consumers queues. For that purpose, I stopped the queue from a dispatcher thread. Regarding comment #3: I fill made the change to address pointed issue. Regarding comment #4: I will implement the fix. It seems we got the separate JIRA about the issue [QPID-3520|https://issues.apache.org/jira/browse/QPID-3520]. It make sense to do as part of JIRA [QPID-3520|https://issues.apache.org/jira/browse/QPID-3520]. > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Keith Wall > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14652040#comment-14652040 ] Keith Wall commented on QPID-3521: -- A couple of comments: # Code changes seem to make a functional change to the 0-10 Connection#stop path, but this is not called out in the JIRA. I suggest a new JIRA describing the issue/user impact is appropriate. # I like the fact that we are now testing failover + connectio#stop, but it is the test assumes internals of the Java Broker (the statistic unacknowledgedMessages) and this is distasteful, as is spreading knowledge of the management interfaces across the test suite. Why is it not sufficient countdown after the message listener's Connection#stop and kill the Broker to cause failover? # AMQSession#stopExistingDispatcher is a check then act with the risk of a NPE if _dispatcher is nulled between. Copy the reference and then use the copy. # AMQSession#drainDispatchQueueWithDispatcher use a try/finally to help ensure that the dispatcher cleanup flag is always returned to its unset state. > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Keith Wall > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14648959#comment-14648959 ] ASF subversion and git services commented on QPID-3521: --- Commit 1693549 from oru...@apache.org in branch 'java/trunk' [ https://svn.apache.org/r1693549 ] QPID-3521: Remove not needed thread dump generation in the system test and count down dispatcher blocking latch in the final block > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Keith Wall > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3521) failover process for the 0-8 client does not clear the pre-dispatch queue
[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14648928#comment-14648928 ] ASF subversion and git services commented on QPID-3521: --- Commit 1693542 from oru...@apache.org in branch 'java/trunk' [ https://svn.apache.org/r1693542 ] QPID-3521: Clear pre-dispatch queue in 0-8 client on failover process > failover process for the 0-8 client does not clear the pre-dispatch queue > - > > Key: QPID-3521 > URL: https://issues.apache.org/jira/browse/QPID-3521 > Project: Qpid > Issue Type: Bug > Components: Java Client >Reporter: Robbie Gemmell >Assignee: Alex Rudyy > Labels: failover > Attachments: clear-dispatch-queue-on-failover.diff > > > failover process for the 0-8 client does not clear the pre-dispatch queue, > only the consumer receive queue. > This is currently masked by an issue with the rollbackMark. The changes made > in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 > client path when this issue is resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org