Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-7774

[JMS Client 0-x] [0-8..0-91] MessageConsumer#receiveNoWait() always returns null after a successful failover

    XMLWordPrintableJSON

    Details

      Description

      If the client fails over when AMQP 0-8..0-91 is in use and the application is using a synchronous message receiver calling #receiveNoWait(), the application will always receive null. The defect is longstanding. It goes back at least until 0.22. Other synchronous receive calls and asynchronous message listeners are unaffected. The 0-10 path is unaffected too.

      The problem is org.apache.qpid.client.AMQConnection#isFailingOver and org.apache.qpid.client.AMQProtocolHandler#startFailoverThread. The former assumes that the failover latch will be nullified after a successful failover but startFailoverThread does not organise for this.

        Attachments

          Activity

            People

            • Assignee:
              kwall Keith Wall
              Reporter:
              kwall Keith Wall
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: