[
https://issues.apache.org/jira/browse/QPID-1823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aidan Skinner updated QPID-1823:
--------------------------------
Attachment: (was: QPID-1823.patch)
> 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
>
> Attachments: QPID-1823.patch
>
>
> 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]