You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2026/10/22 17:06:00 UTC

[jira] [Commented] (PROTON-2995) Closing a link blocks until the close timeout when the remote ends the session instead of answering the detach

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

ASF subversion and git services commented on PROTON-2995:
---------------------------------------------------------

Commit 736a2341e88f02ce6ce2a5bd5fc43012d0c197a0 in qpid-protonj2's branch refs/heads/main from Arnaud Cogoluègnes
[ https://gitbox.apache.org/repos/asf?p=qpid-protonj2.git;h=736a2341 ]

PROTON-2995 Notify closing links when their parent endpoint closes

A link closed or detached locally and waiting for the remote detach was
not notified when its parent session or connection was closed. As the
remote detach never arrives after the session end, closing the link from
the client blocked until the close timeout (60 seconds by default), for
example when the remote answers a detach with an end.

The parent endpoint closed handler is now also fired for links that are
locally closed or detached but not yet remotely closed or detached.


> Closing a link blocks until the close timeout when the remote ends the session instead of answering the detach
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: PROTON-2995
>                 URL: https://issues.apache.org/jira/browse/PROTON-2995
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: protonj2
>    Affects Versions: protonj2-1.4.0
>            Reporter: Arnaud Cogoluègnes
>            Assignee: Timothy A. Bish
>            Priority: Minor
>
> When a link is closed or detached locally, the client waits for the remote detach. If the remote ends the session or closes the connection instead of answering the detach, that remote detach never arrives. Sender#close() / Receiver#close() (and detach()) then block until the link close timeout (60 seconds by default), and the close future only completes when the timeout expires.
> The same happens if the remote ends the session for an unrelated reason while the detach is in flight.
> Cause: ProtonLink#fireParentEndpointClosed() only fires the parent-endpoint-closed handler for links that are still locally open. A link that is locally closed but still waiting for the remote detach never gets the event, so the client never runs ClientLinkType#handleParentEndpointClosed and the link shutdown doesn't complete.
> Fix: also fire the handler for links that are locally closed or detached but not yet remotely closed or detached. Links closed on both ends are still not notified.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

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