hiero-ledger / hiero-ledger/hiero-consensus-node
Stuck protocol makes resetting connection impossible
- Dominant language
- Java
- Stars
- 407
- Forks
- 226
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 210
Description
`ReconnectPeerProtocol` gets stuck in synchronization. The other node sees a timeout exception and tries to reset the connection.
`InboundConnectionManager.newConnection()` calls `disconnect()` on the existing connection and closes the socket. That, however, has no effect on the stuck `SyncProtocolWithN` thread so no new protocol can run. The other node again sees a timeout exception in `VersionCompareHandshake.runProtocol()` and goes in a loop attempting to create a new connection.
In cases like this, the `SyncProtocolWithN` thread should be explicitly interrupted (or killed and restarted) to ensure a new connection can be established.
See relevant issue #19686
Contributor guide
Assessment
This issue has not been assessed yet.