Uploaded image for project: 'Qpid JMS'
  1. Qpid JMS
  2. QPIDJMS-443

Wrong handle id in AMQP 1.0 attach transport layer, when using different sessions and producer among different threads

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Invalid
    • Affects Version/s: 0.40.0
    • Fix Version/s: None
    • Component/s: qpid-jms-client
    • Labels:
      None

      Description

      Hi,

      I found QPID JMS to not set the handle id [1] in the transport layer attach [2] of the AMQP 1.0 specification correctly when using two different sessions in two different threads. I tried to share one connection among two different threads. Within the threads, a new session and a new producer is created (I attached the code to reproduce the issue). If I capture the packets with Wireshark I can see that the handle id is set to 0 for both sender.

      If there is only one session created and shared among the two different threads two the handle id is set correctly.

      Even though for example a RabbitMQ does accept that I think this might be an issue as the AMQP 1.0 specification states the following:

      The handle MUST NOT be used for other open links. An attempt to attach using a handle which is already associated with a link MUST be responded to with an immediate close carrying a handle-in-use session-error

      I may misunderstand the specification.

      Regards

      Morten

       

      [1] http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#doc-link-handles

      [2] http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-attach

        Attachments

        1. qpid.jms.test.zip
          6 kB
          morten

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              montii morten
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: