[
https://issues.apache.org/jira/browse/PROTON-2995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy A. Bish resolved PROTON-2995.
-------------------------------------
Fix Version/s: protonj2-1.5.0
Resolution: Fixed
> 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]