ac49031396
closed This commit makes the handoff procedure between the breachabiter and chainwatcher use a function closure to mark the channel pending closed in the DB. Doing it this way we know that the channel has been markd pending closed in the DB when ProcessACK returns. The reason we do this is that we really need a "two-way ACK" to have the breacharbiter know it can go on with the breach handling. Earlier it would just send the ACK on the channel and continue. This lead to a race where breach handling could finish before the chain watcher had marked the channel pending closed in the database, which again lead to the breacharbiter failing to mark the channel fully closed. We saw this causing flakes during itests. |
||
---|---|---|
.. | ||
anchor_resolver.go | ||
briefcase_test.go | ||
briefcase.go | ||
chain_arbitrator_test.go | ||
chain_arbitrator.go | ||
chain_watcher_test.go | ||
chain_watcher.go | ||
channel_arbitrator_test.go | ||
channel_arbitrator.go | ||
commit_sweep_resolver_test.go | ||
commit_sweep_resolver.go | ||
contract_resolvers.go | ||
htlc_incoming_contest_resolver.go | ||
htlc_incoming_resolver_test.go | ||
htlc_outgoing_contest_resolver_test.go | ||
htlc_outgoing_contest_resolver.go | ||
htlc_success_resolver_test.go | ||
htlc_success_resolver.go | ||
htlc_timeout_resolver_test.go | ||
htlc_timeout_resolver.go | ||
interfaces.go | ||
log.go | ||
mock_registry_test.go | ||
utils_test.go |