You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "morten (JIRA)" <ji...@apache.org> on 2019/01/24 09:27:00 UTC

[jira] [Updated] (QPIDJMS-443) Wrong handle id in AMQP 1.0 attach transport layer, when using different sessions and producer among different threads

     [ https://issues.apache.org/jira/browse/QPIDJMS-443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

morten updated QPIDJMS-443:
---------------------------
    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|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-close] carrying a handle-in-use [session-error|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-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]

  was:
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.

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|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-close] carrying a handle-in-use [session-error|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-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]


> Wrong handle id in AMQP 1.0 attach transport layer, when using different sessions and producer among different threads
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPIDJMS-443
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-443
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.40.0
>            Reporter: morten
>            Priority: Critical
>         Attachments: qpid.jms.test.zip
>
>
> 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|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-close] carrying a handle-in-use [session-error|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-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]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org