[ 
https://issues.apache.org/jira/browse/QPID-8100?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16365995#comment-16365995
 ] 

ASF subversion and git services commented on QPID-8100:
-------------------------------------------------------

Commit 1911d163b2fe21e6630ccf16730d30917ca888c9 in qpid-broker-j's branch 
refs/heads/master from [~k-wall]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=1911d16 ]

QPID-8100: [Broker-J] [AMQP 0-10] Ensure that in error cases, session.detach is 
sent on the same channel as arrived the incoming frame.


> [Broker-J] [AMQP 0-10] SESSION_BUSY sent on wrong channel leading to hung 
> Messaging API based application
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-8100
>                 URL: https://issues.apache.org/jira/browse/QPID-8100
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>    Affects Versions: 0.32, qpid-java-broker-7.0.0, qpid-java-broker-7.0.1
>         Environment: * Qpid Broker-J 0.32 derivative
> * Qpid Cpp Client using messaging API.
>            Reporter: Keith Wall
>            Priority: Major
>
> If, during session attachment, the Broker detects that the 0-10 session is 
> already in use by the same principal, the Broker is required to detach the 
> session by sending a {{session.detach}} on the same channel.  Currently owing 
> to a defect, the Broker sends this detach on channel 0, regardless of the 
> channel used by the peer.
> This defect was a contributory factor in a larger problem.  It prevented an 
> application from recovering automatically.    In that case, a Qpid CPP 
> Messaging API, recovering from a missing heartbeat, entered a hung state 
> whilst attaching the existing session.  The client library discarded the 
> {{session.detach}} on the unexpected channel, so it continued to await the 
> {{session.attached}}, which never came.  
> {noformat}
> /// original session attach
> 2018-02-15 13:17:50 [Network] trace SENT 
> [[10.211.55.3:60054-10.241.132.41:5672]]: Frame[BEbe; channel=1; 
> {SessionAttachBody: name=e2baafab-5e5f-4daf-8276-33ccaa9f940a; }]
> 2018-02-15 13:17:50 [Network] trace RECV 
> [[10.211.55.3:60054-10.241.132.41:5672]]: Frame[BEbe; channel=1; 
> {SessionAttachedBody: name=e2baafab-5e5f-4daf-8276-33ccaa9f940a; }]
> 2018-02-15 13:17:50 [Network] trace SENT 
> [[10.211.55.3:60054-10.241.132.41:5672]]: Frame[BEbe; channel=1; 
> {SessionRequestTimeoutBody: timeout=0; }]
> /// snip - later heartbeat timeout
> 2018-02-15 13:18:20 [Client] debug Traffic timeout
> /// snip - reconnecting again
> 2018-02-15 13:18:20 [System] info Connecting: 10.241.132.41:5672
> /// snip -reuse the same session id
> 2018-02-15 13:18:28 [Client] debug Known-brokers for connection:
> 2018-02-15 13:18:28 [Network] trace SENT 
> [[10.211.55.3:60056-10.241.132.41:5672]]: Frame[BEbe; channel=1; 
> {SessionAttachBody: name=e2baafab-5e5f-4daf-8276-33ccaa9f940a; }]
> 2018-02-15 13:18:28 [Network] trace RECV 
> [[10.211.55.3:60056-10.241.132.41:5672]]: Frame[BEbe; channel=0; 
> {SessionDetachedBody: name=e2baafab-5e5f-4daf-8276-33ccaa9f940a; code=1; }]
> 2018-02-15 13:18:28 [Client] info Connection 
> [10.211.55.3:60056-10.241.132.41:5672] dropping frame received on invalid 
> channel: Frame[BEbe; channel=0; {SessionDetachedBody: 
> name=e2baafab-5e5f-4daf-8276-33ccaa9f940a; code=1; }]
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to