You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Xin Chen (JIRA)" <ji...@apache.org> on 2013/12/04 00:55:36 UTC
[jira] [Commented] (QPID-5389) ConnectionHandler may stop writting
pending frames if close is called right after the connection is started
[ https://issues.apache.org/jira/browse/QPID-5389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13838354#comment-13838354 ]
Xin Chen commented on QPID-5389:
--------------------------------
This can be repro'ed by creating/closing connection is a loop:
factory = ConnectionFactoryImpl.createFromURL(connectionUri);
System.out.println("Started...");
for (int i = 0; i < 10; i++)
{
System.out.println("creating conn " + i);
connection = factory.createConnection();
System.out.println("starting conn " + i);
connection.start();
System.out.println("stopping conn " + i);
connection.stop();
System.out.println("closing conn " + i);
connection.close();
System.out.println("closed conn " + i);
}
> ConnectionHandler may stop writting pending frames if close is called right after the connection is started
> -----------------------------------------------------------------------------------------------------------
>
> Key: QPID-5389
> URL: https://issues.apache.org/jira/browse/QPID-5389
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Reporter: Xin Chen
> Attachments: QPID-5389.patch
>
>
> ConnectionEndpoint._closedForOutput is set to true when close is called. Right now HeaderBytesSource.closed() returns false but _buffer has been completely consumed, which results in a deadloop in writing this 0-length buffer. Regardless of this value, the connection handler should write out all pending frames in the queue.
--
This message was sent by Atlassian JIRA
(v6.1#6144)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org