Uploaded image for project: 'AMQ Clients'
  1. AMQ Clients
  2. ENTMQCL-493

Qpid C++ client hangs in Receiver::fetch() with ActiveMQ 5.11 broker

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • None
    • None
    • None
    • Hide

      1. Unpack, build and install qpid-proton-0.17.0
      2. Unpack, build and install quld-cpp 1.36 (these are the latest releases at the time of writing). Ensure that the qpid-cpp cmake process detects the presence of qpid-proton
      3. Uncomment the "protocol-defaults" line in /usr/local/etc/qpid/qpidc.conf so that AMQP 1.0 is used by default
      4. Start ActiveMQ 5.11 (A-MQ 6.3) – ensure that the AMPQ transport is enabled
      5. Run the qpid-cpp "drain" example with no timeout, like this:

      $ ./examples/messaging/drain -b localhost -f __test_destination

      6. Put messages on __test_destination using any client. Note that "drain" only displays the first.
      7. Kill and restart "drain". Another message is displayed.
      8. And so on.
      9. Repeat with A-MQ 7 ER15 (Artemis 1.5). Note that all messages are displayed by "drain".

      Show
      1. Unpack, build and install qpid-proton-0.17.0 2. Unpack, build and install quld-cpp 1.36 (these are the latest releases at the time of writing). Ensure that the qpid-cpp cmake process detects the presence of qpid-proton 3. Uncomment the "protocol-defaults" line in /usr/local/etc/qpid/qpidc.conf so that AMQP 1.0 is used by default 4. Start ActiveMQ 5.11 (A-MQ 6.3) – ensure that the AMPQ transport is enabled 5. Run the qpid-cpp "drain" example with no timeout, like this: $ ./examples/messaging/drain -b localhost -f __test_destination 6. Put messages on __test_destination using any client. Note that "drain" only displays the first. 7. Kill and restart "drain". Another message is displayed. 8. And so on. 9. Repeat with A-MQ 7 ER15 (Artemis 1.5). Note that all messages are displayed by "drain".

      A C++ client uses Receiver::fetch() to retrieve messages from an ActiveMQ 5.11 queue. Only the first message is retrieved; after that the ::fetch() method just waits. Another message is retrieved after restarting the application, and so on.

      This problem is seen with the latest releases of qpid-cpp and qpid-proton. It has also been observed in versions delivered as RPM with an RHEL distribution, but I am unsure of the exact version at present.

              jross@redhat.com Justin Ross
              rhn-support-kboone Kevin Boone
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: