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]

Reply via email to