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

Random flips in durable message property on conversion between AMQP and Core

XMLWordPrintable

    • Hide
      $ git clone https://github.com/rh-messaging/cli-java.git
      $ cd cli-java
      $ mvn package
      

      Start a topic subscriber

      $ java -jar cli-activemq/target/cli-activemq-1.2.2-SNAPSHOT-LATEST.jar receiver --log-msgs interop --count 300 --timeout 100 --address topic://JAMQMsgPatterns01eTestsTVPtXv9
      

      Start second topic subscriber (in another terminal). This is critical step. With a single subsciber, the issue does not seem to manifest at all.

      $ java -jar cli-activemq/target/cli-activemq-1.2.2-SNAPSHOT-LATEST.jar receiver --log-msgs interop --count 300 --timeout 100 --address topic://JAMQMsgPatterns01eTestsTVPtXv9
      

      Send messages to the topic (in yet another terminal)

      $ java -jar cli-qpid-jms/target/cli-qpid-jms-1.2.2-SNAPSHOT-LATEST.jar sender --log-msgs interop --count 300 --address topic://JAMQMsgPatterns01eTestsTVPtXv9 --msg-correlation-id some-corr-id --msg-content-list ['ABC' 'DEF' 'abc' 'xzy' 1.4]
      

      Search for `durable: 'False` in the outputs of both. You should see there are no occurences in the sender's output, and there are some occurences in the subscriber's output. There should be about 1% of False values there.

      Show
      $ git clone https: //github.com/rh-messaging/cli-java.git $ cd cli-java $ mvn package Start a topic subscriber $ java -jar cli-activemq/target/cli-activemq-1.2.2-SNAPSHOT-LATEST.jar receiver --log-msgs interop --count 300 --timeout 100 --address topic: //JAMQMsgPatterns01eTestsTVPtXv9 Start second topic subscriber (in another terminal). This is critical step. With a single subsciber, the issue does not seem to manifest at all. $ java -jar cli-activemq/target/cli-activemq-1.2.2-SNAPSHOT-LATEST.jar receiver --log-msgs interop --count 300 --timeout 100 --address topic: //JAMQMsgPatterns01eTestsTVPtXv9 Send messages to the topic (in yet another terminal) $ java -jar cli-qpid-jms/target/cli-qpid-jms-1.2.2-SNAPSHOT-LATEST.jar sender --log-msgs interop --count 300 --address topic: //JAMQMsgPatterns01eTestsTVPtXv9 --msg-correlation-id some-corr-id --msg-content-list [ 'ABC' 'DEF' 'abc' 'xzy' 1.4] Search for `durable: 'False` in the outputs of both. You should see there are no occurences in the sender's output, and there are some occurences in the subscriber's output. There should be about 1% of False values there.

      Some messages (about 1 %) sent by AMQP JMS client and received by Core JMS client are (randomly) changed during conversion (or somewhere on transit). It is most readily visible on the 'durable' message property which sometimes flips from True to False at random.

      See the steps to reproduce for reproduction steps.

              csuconic@redhat.com Clebert Suconic
              jdanek@redhat.com Jiri Daněk
              Roman Vais Roman Vais (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: