[
https://issues.apache.org/jira/browse/PROTON-2995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18130441#comment-18130441
]
ASF subversion and git services commented on PROTON-2995:
---------------------------------------------------------
Commit 700845499035edadef8962effc593437a1e6ea95 in qpid-protonj2's branch
refs/heads/1.x from Arnaud Cogoluègnes
[ https://gitbox.apache.org/repos/asf?p=qpid-protonj2.git;h=70084549 ]
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.
(cherry picked from commit 736a2341e88f02ce6ce2a5bd5fc43012d0c197a0)
> 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
> Fix For: protonj2-1.5.0
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]