channel collision renders pre-existing session unusable on client
-----------------------------------------------------------------
Key: QPID-2153
URL: https://issues.apache.org/jira/browse/QPID-2153
Project: Qpid
Issue Type: Bug
Components: C++ Client
Reporter: Gordon Sim
Assignee: Gordon Sim
Fix For: 0.5
There are 2^16 channels available on each connection. Each session in use
requires one of these channels to be assigned. If more than 2^16 sessions are
created and deleted, the channel allocated to new sessions 'wraps around' and
can result in a collision with that allocated to a pre-existing session
resulting in a session-busy exception. This exception renders the pre-existing
session unusable on the client side (though the broker still assumes it is
attached).
Though there is a check for in-use sessions, the channel is set on the new
session regardless of that check and when that session is then destroyed (as it
will be if the exception is thrown) it will request the session on that channel
to be erase (on the invalid assumption that it refers to itself).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]