EndOfStream DUPLICATE_BLOCK repeated stream restarts
#1647
Replies: 4 comments
-
|
We'll need to discuss this carefully. It might be reasonable to offer a |
Beta Was this translation helpful? Give feedback.
-
Indeed this is something we should very thoroughly discuss. I do not think we should be mixing SKIP and DUPLICATE. If we decide to go with not closing the stream as described above, this, at least to me, means an API/Spec change (making DUPLICATE it's own message and not an EndOfStream status code) and should be very deliberate and well though out. |
Beta Was this translation helpful? Give feedback.
-
I don't think we can have |
Beta Was this translation helpful? Give feedback.
-
|
Consideration to convert to discussion. From that pull out a potential ticket or not. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
When a Block Node has already persisted and verified a block, if the consensus node sends the BlockHeader for that block, it will receive a
PublishStreamResponse,EndOfStreamwithCodeofDUPLICATE_BLOCK. The CN will end the stream and restart the stream at the specifiedblock_number+ 1 in theEndOfStream.This can lead to a situation where if multiple consensus nodes are streaming to the same block node, one consensus node can be in a state where it is constantly behind, being told it's duplicating an existing block and the stream will be continually restarted. The consensus node currently has a rate limiting to
EndOfStreammessages, where after a certain number of them occur within a timeframe, a longer backoff is applied.Potential Solutions:
SkipBlockinstead of anEndOfStreamif the block falls within a buffer/window (last x blocks).EndOfStreamDUPLICATE_BLOCKit's own message type. The CN would treat this as an acknowledgement + skipping to streaming that block.EndOfStreamDUPLICATE_BLOCKand if the CN sends aBlockHeaderfor an already persisted and verified block, then immediately send the lastestBlockAcknowledgement.Beta Was this translation helpful? Give feedback.
All reactions