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
Merging #1140 means the way we handle protocol messages with the wrong session ID has become less efficient.
In practice this happens during DKG where we run 3 sub-protocols one after the other on the same websocket connection, and usually some peers finalize one protocol and start sending the first messages from the next while others are still finalizing the first protocol.
The strategy here is to put the messages back into the incoming message channel and process them later. Since i changed how this works when parallelizing message processing, messages keep popping back out as soon as they go in.
We can see this as there are many log lines like this when testing the DKG protocol:
WARN entropy_protocol::execute_protocol: Got protocol message with incorrect session ID - putting back in queue
The protocol does finish successfully, but there is some unnecessary work done.
I think this should be fairly easy to fix by storing these messages in a VecDeque until the end of the current session. This is what was happening before but it somehow got lost in the shift around in that PR.
The text was updated successfully, but these errors were encountered:
Merging #1140 means the way we handle protocol messages with the wrong session ID has become less efficient.
In practice this happens during DKG where we run 3 sub-protocols one after the other on the same websocket connection, and usually some peers finalize one protocol and start sending the first messages from the next while others are still finalizing the first protocol.
The strategy here is to put the messages back into the incoming message channel and process them later. Since i changed how this works when parallelizing message processing, messages keep popping back out as soon as they go in.
We can see this as there are many log lines like this when testing the DKG protocol:
The protocol does finish successfully, but there is some unnecessary work done.
I think this should be fairly easy to fix by storing these messages in a
VecDeque
until the end of the current session. This is what was happening before but it somehow got lost in the shift around in that PR.The text was updated successfully, but these errors were encountered: