qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aidan Skinner (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Created: (QPID-1823) Session creation for more than 64K channelId causes timeout
Date Mon, 20 Apr 2009 10:24:47 GMT
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:dev-subscribe@qpid.apache.org

View raw message