pdpv0: user initiated termination#1246
Conversation
f15eeba to
df64fc3
Compare
df64fc3 to
5210039
Compare
12f5bd6 to
15be2a1
Compare
ZenGround0
left a comment
There was a problem hiding this comment.
Thanks this is a really nice feature cleaning up as you go along. The only thing I block on is including the immediate settle task which I view as well crafted but wholly unnecessary. If you want to argue about keeping that please do but hold off on merge. Everything is uncontroversial or not important enough to block
ZenGround0
left a comment
There was a problem hiding this comment.
I am happy enough with this that you should not consider me blocking. I have some questions on small details that don't matter too much. And a strong suggestions around avoiding immediate settle task right now at least until we get a strong reason for including this that you buy into from @rvagg.
|
Oh yeah also wrote down the fwss contract upgrade dependency in #1260. We'll want a little patch for keeping things working independent of upgrade / no upgrade before merge to main. |
59b198d to
c8670b1
Compare
|
@ZenGround0 I have addressed your review in last commit. I am merging this into the feature branch. Feel free to one more pass if you wish. I can address them in a separate follow up PR. |
* user initated termination * regenerate FWSS abi * drop indexes * remove client settle task
* user initated termination * regenerate FWSS abi * drop indexes * remove client settle task
* fix: pdpv0 deletion pipeline (#1239) * fix deletion pipeline * apply suggestions * fmt * pdpv0: user initiated termination (#1246) * user initated termination * regenerate FWSS abi * drop indexes * remove client settle task * pdpv0: handle PDPVerifier piece cleanup before local deletion (#1253) * dataSet piece cleanup * Pay CleanupFee (#1254) * add gc indexes * address review * apply suggestions * FWSS version gate for client-requested PDPv0 termination (#1261) * FWSS version based terminate * use semvers --------- Co-authored-by: Andrew Jackson (Ajax) <snadrus@gmail.com> --------- Co-authored-by: LexLuthr <88259624+LexLuthr@users.noreply.github.com> Co-authored-by: Andrew Jackson (Ajax) <snadrus@gmail.com>
fixes #1235
Summary
Adds pdpv0 client-requested data set termination flow.
• Adds POST /pdp/data-sets/{id}/terminate to queue client termination with required non-empty extraData.
• Adds GET /pdp/data-sets/{id}/terminate for client termination status, including tx hash/status/success, FWSS termination confirmation, and service termination epoch.
• Tracks client-requested termination state in pdp_delete_data_set.
• Makes terminate retry/failure handling origin-aware:
◦ client failed txs are deleted so clients can retry
◦ provider/internal failed txs are reset for internal retry
◦ failed txs that already terminated FWSS still advance the pipeline
• Adds chain-sync reconciliation for missing termination message-wait rows using FWSS state.
• Adds immediate settlement task for client-requested terminations and marks settlement transactions with a reason so pay watcher can distinguish them.
• Adds race documentation for client termination/immediate settlement interactions.
Notes
FWSS ABI changes are still pending. Current ABI TODOs remain in TerminateFWSSTask and should be resolved when terminateService(uint256,bytes) is available.ABI has been regenerated for FWSS based on FilOzone/filecoin-services#485