taproot-assets icon indicating copy to clipboard operation
taproot-assets copied to clipboard

Block on Proof Courier Service Connection Attempt

Open ffranr opened this issue 1 year ago • 6 comments

This PR enhances the reliability of the proof courier service and the robustness of the proof transfer process:

  • Blocking Courier Service Connection: Ensures courier service connection attempts are blocking, preventing failures from premature connection usage and simplifying debugging.
  • Proof Transfer Resilience:
    • Implements logic to re-attempt proof transfers when backoff attempts are exhausted, avoiding delays until the next service restart.
    • Refines logging and error messages to improve debugging.

These updates strengthen the courier service's reliability and make proof transfers more fault-tolerant.

ffranr avatar Nov 19 '24 16:11 ffranr

Pull Request Test Coverage Report for Build 14486973988

Details

  • 0 of 60 (0.0%) changed or added relevant lines in 5 files are covered.
  • 40 unchanged lines in 9 files lost coverage.
  • Overall coverage decreased (-0.03%) to 28.341%

Changes Missing Coverage Covered Lines Changed/Added Lines %
tapcfg/config.go 0 1 0.0%
itest/tapd_harness.go 0 2 0.0%
itest/test_harness.go 0 2 0.0%
tapfreighter/chain_porter.go 0 24 0.0%
proof/courier.go 0 31 0.0%
<!-- Total: 0 60
Files with Coverage Reduction New Missed Lines %
itest/test_harness.go 1 0.0%
proof/courier.go 1 16.55%
tapfreighter/chain_porter.go 1 0.0%
tapchannel/aux_leaf_signer.go 2 43.08%
asset/asset.go 3 48.1%
address/address.go 6 67.47%
asset/mock.go 6 63.56%
commitment/tap.go 6 71.36%
address/mock.go 14 88.24%
<!-- Total: 40
Totals Coverage Status
Change from base Build 14474635473: -0.03%
Covered Lines: 25912
Relevant Lines: 91429

💛 - Coveralls

coveralls avatar Nov 19 '24 16:11 coveralls

IIRC, the issue last time was that an address contained an invalid courier addr, so the proof could never be delivered, meaning the send was never completed.

Does this change resolve that? IIUC now, we'll just block when trying to connect, but after the send has already been confirmed on chain?

Roasbeef avatar Nov 22 '24 02:11 Roasbeef

IIRC, the issue last time was that an address contained an invalid courier addr, so the proof could never be delivered, meaning the send was never completed.

Does this change resolve that? IIUC now, we'll just block when trying to connect, but after the send has already been confirmed on chain?

@Roasbeef The PR does not address the invalid courier address problem. This PR ensures that we don't try to use a proof courier service connection before it's ready and so potentially avoid an unnecessary backoff and log messages.

ffranr avatar Nov 22 '24 13:11 ffranr

!lightninglabs-deploy mute 720h30m

dstadulis avatar Dec 17 '24 17:12 dstadulis

@georgetsagk: review reminder @ffranr, remember to re-request review from reviewers when ready

lightninglabs-deploy avatar Apr 11 '25 07:04 lightninglabs-deploy

Hmm, not sure what happened in the merge queue... Rebased to re-trigger CI.

guggero avatar Apr 16 '25 07:04 guggero