Closed ellemouton closed 3 weeks ago
[!IMPORTANT]
Review skipped
Auto reviews are limited to specific labels.
Labels to auto review (1)
* llm-reviewPlease check the settings in the CodeRabbit UI or the
.coderabbit.yaml
file in this repository. To trigger a single review, invoke the@coderabbitai review
command.You can disable this status message by setting the
reviews.review_status
tofalse
in the CodeRabbit configuration file.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Fixes itest flake found in this build in the
abandonchannel
test.When abandoning a channel, we remove it from the graph and then add it to the zombie channel index. However, if we then process a ChannelUpdate for this channel it will result in us calling
processZombieUpdate
which will delete the edge from the zombie index. The abandon channel itest currently asserts that a channel is no longer in the graph by asserting that when querying for the channel we get a "marked as zombie" error but to account for the above series of operations, we now also allow it to just not be found at all ("edge not found").More in-depth step by step explanation and some logs:
What can happen is that now we actually process an old ChannelUpdate for the channel
Logs from the failing test:
The
Remove edge with chan from zombie index
line is called fromprocessZombieUpdate
which is called from the gossiper’shandleChanUpdate
method IF it attempts to fetch a channel that we currently see as a zombie.processZombieUpdate
will then callMarkEdgeLive
and all that that does is remove the channel from the zombie index completely.This is fine and valid imo. So I think the thing to do here is: update the test so that it accounts for this order of operations.