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

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Invalid
    • 0.40.0
    • None
    • qpid-jms-client
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: