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

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

            Dates

              Created:
              Updated:
              Resolved: