Session creation for more than 64K channelId causes timeout
------------------------------------------------------------
Key: QPID-1823
URL: https://issues.apache.org/jira/browse/QPID-1823
Project: Qpid
Issue Type: Bug
Components: Java Client
Affects Versions: 0.5
Reporter: Aidan Skinner
Assignee: Aidan Skinner
Fix For: 0.5
Mule connectors create a session for each message send. Once we get beyond 64K
this causes a problem since channelId gets converted in
AMQFrame.writeUnsignedShort and loops back round to 0. This is a problem since
the channelId that the connection is holding does not get reset to the new
value. It's also not ideal since channel 0 is the control channel.
So, proposed solution is to:
- check the channelId on session creation to see if greater than the channelMax
value
- if greater, then create an array holding a boolean for each index position
(i.e. integer) false meaning channelId available and true if in use.
- we can also also reserve channel 0 for control channel
- so, for sessions created after the channel max value is hit then we perform a
lookup/add on session creation and a remove on session close
- thus the cost associated is marginal and only introduced after the 64K+1
session is opened
--
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]