Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-557

[AMQP] Broker receives messages but they are not enqueued

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • A-MQ 7.0.0.ER16
    • None
    • None
    • Hide

      See Description

      Show
      See Description

      This is from analysis of two jiras:

      In both cases some send-receive tests hang when the receiver does not
      receive any messages.

      For the tests:

      1. ER16 broker is created fresh with default configuration.

        # Delete existing
        [ -d my-broker ] && rm -rf my-broker
      
        # Create new broker
        ./bin/artemis create my-broker \
                      --password admin \
                      --user admin \
                      --role admin \
                      --allow-anonymous
      

      2. Start a pcap trace.

        dumpcap -i any -w ~/Work/adverb/20170301-interop-patched-2
      

      3. Run broker

      4. Run qpidit interop test; wait for hang. Might hang early (test 7)
      or much later (test 25 or so).

      5. Stop trace and examine.


      The case that got the most scrutiny is QPIDIT, Qpid Interop Test, where
      test cases that link a ProtonCpp sender with a ProtonCpp receiver. Both
      clients connect to the broker and attach to the same queue. A different
      queue is used for each test pair.

      In the network trace for the failed trace:

      • the client sender sent the messages and the broker returns settled dispositions for them.
      • the sender closes normally.
      • the client receiver has attached and issued credit.
      • the client waits and receives no messages. Every N seconds the client sends a keepalive empty frame.

      Attaching to the broker hawtio console:

      • the queue for the failed test has been created.
      • the queue is empty. Message (count, ack'd, added) counts all zero.

      Putting in some sleep() statements in the ProtonCpp Receiver client
      sometimes coerces the tests to pass. Other times the tests fail with
      ProtonPyton->ProtonPython test pair where the sleep() statements are absent.

              rh-ee-ataylor Andy Taylor
              crolke@redhat.com Chuck Rolke (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: