dakirily commented on PR #463:
URL: https://github.com/apache/qpid-broker-j/pull/463#issuecomment-6360285652

   CLOSE_EXISTING can still exceed the close deadline during active message 
delivery: In 
[AMQPConnection_1_0Impl.java:978–980](https://github.com/apache/qpid-broker-j/blob/4d857328d2eb4ae51028f40de2e92cff278e38cd/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java#L978-L980),
 the deadline is started and the close task is queued, but stopConnection() is 
not called.
   
   If the existing connection has a consumer with a large backlog and 
sufficient credit, and its peer continues reading:
   
   - 
[ProcessPendingIterator.next()](https://github.com/apache/qpid-broker-j/blob/4d857328d2eb4ae51028f40de2e92cff278e38cd/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java#L1777-L1814)
 continues to prioritise session work over the queued close task
   
   - 
[NonBlockingConnection.processPending()](https://github.com/apache/qpid-broker-j/blob/4d857328d2eb4ae51028f40de2e92cff278e38cd/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java#L363-L397)
 can remain in its loop as long as writes make sufficient progress
   
   - The ticker is checked before entering this loop; the deadline is not 
checked within it
   
   Consequently, although the deadline has been installed, both its enforcement 
and the close task can be delayed. Closing the existing connection and resuming 
Open on the replacement connection can therefore take longer than 
connection.closeResponseTimeout.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to