You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FollowStreamFinalizedHeads is used both for reconnecting and non-reconnecting rpc clients currently which doesn't work properly for non-reconnecting because this stream assumes that after the stop event it will continue/be restarted.
This is not true for non reconnecting backend when the stop event is fired the backend is closed. Thus, if one subscribes to finalized blocks and the backend is stopped then the stream will never return and wait forever.
So in order fix this we would need to inject a flag here whether the backend is reconnecting or not, or alternatively make FollowStreamDriverSubscription aware of this in some way.
FollowStreamFinalizedHeads is used both for reconnecting and non-reconnecting rpc clients currently which doesn't work properly for
non-reconnecting
because this stream assumes that after thestop event
it will continue/be restarted.This is not true for
non reconnecting backend
when the stop event is fired the backend is closed. Thus, if one subscribes to finalized blocks and the backend is stopped then the stream will never return and wait forever.So in order fix this we would need to inject a flag here whether the backend is reconnecting or not, or alternatively make
FollowStreamDriverSubscription
aware of this in some way.Example to reproduce this:
Open terminal 1
substrate-node --dev # Wait for the node to start
Open terminal 2
Run the following code
Open terminal 3
pkill substrate-node
At this point (when substrate-node is stopped) then the finalized head stream should be terminated but it isn't....
The text was updated successfully, but these errors were encountered: