Adjust batch_size
on commit_sig
retransmission
#3147
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If we send a batch of
commit_sig
while our peer is sending theirsplice_locked
and we disconnect before receivingrevoke_and_ack
, we will have lesscommit_sig
messages to send on reconnection. But we were still sending the oldbatch_size
, so our peer was expecting morecommit_sig
messages and waiting indefinitely.This shows how hacky the
batch_size
mechanism is: fortunately, it was removed from the official splice spec and replaced by the funding txid matching the commitment, which gets rid of this edge case entirely. But for existing phoenix users, while the splice spec isn't finalized, we need to fix this scenario.