ledger: make catchpoint generation backward compatible#5598
ledger: make catchpoint generation backward compatible#5598algorandskiy merged 4 commits intoalgorand:masterfrom
Conversation
d33eb05 to
616c71c
Compare
Codecov Report
@@ Coverage Diff @@
## master #5598 +/- ##
==========================================
- Coverage 55.64% 55.64% -0.01%
==========================================
Files 475 475
Lines 66869 66897 +28
==========================================
+ Hits 37209 37222 +13
- Misses 27146 27164 +18
+ Partials 2514 2511 -3
... and 15 files with indirect coverage changes 📣 Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today! |
AlgoAxel
left a comment
There was a problem hiding this comment.
Generally looks good, I feel good about the basic branching logic for making a V6 catchpoint label maker. But I'm going to spend a little more time understanding the new wiring around it, specifically the ct.cachedDBRound and ct.consensusVersion. Will do another pass on this.
* catchpoint's crash recovery needs to be protocol versions aware * protocol is obtained from a block header so this tracker must maintain min round it can recover from similarly to acct updates and online accounts This was caught by TestArchival test
616c71c to
f899cda
Compare
|
rebased/resolved conflicts |
gmalouf
left a comment
There was a problem hiding this comment.
Put two questions that popped up in-line - I think looks good once those are addressed (based on betanet catchup as well).
|
Resolved comments |
1659c65 to
7791321
Compare
gmalouf
left a comment
There was a problem hiding this comment.
One comment, once that's answered I'm good to approve.
Summary
Stateproof verification introduced a new data chunk in a catchpoint file and an extra hash in labels that made impossible to get pre spver catchpoint labels.
This PR fixed it by checking consensus version for appropriate block and either include or not new data into consideration.
Changes overview
EnableCatchpointsWithSPContextsconsensus parameter.loadFromDiskfor thedbRoundso this tracker mustmaintain min round it can recover from similarly to acct updates and online accounts
Test Plan
I run FC from
26770000#4VW7BZEW32TTEIXFRH2F5KRRVPDM3KKHU3FP2JAWENSKZE3FSRBQ(that is before the upgrades at 26968527 and 26988528) and got labels:26780000#VVZUVAPGK64IGPBMQIJUSQN6Q6YYOQW5SE2RIIKIRGMKLESN77OA✅26790000#ETD2KUYGW5OCJUPMXNFEYGVIEX74ITXCXTU5CTLCM5N2AHXECK7Q✅26800000#ACFA5RM2DQD4DE2GKKZOHYV7O26VY66WQT7LJCJ237HRZTC5BCAA✅26810000#QVNFYQW35WUU3EBQKRHXY25GGGQOVGWX25H6CC7UIJPBDAOGWEVQ✅26820000#FUBJMDI2AIGALRJK2Z3GQ5GCNHKAKUG2M2A6IBNOMGASA26ZPRFA❓26830000#W7W6OWNXOKTMT744ET327JBILSQQJPYTZWX3OZKGB2365QBKUYLA❓...
26900000#3EGYBUNV4CDVJLN5NJCCGSZ5UJAAO52JC52FX7STHL5GR7SJP3IA❓...
26980000#CVRJ3GVF5YWOSITJKOAR375IVDJN7HPWOWX33NV3LERPHMCR7XFA❓26990000#LG6RCETKULFHHPY6HHFACOZ4OPOEGYISILKCJZ7NFTZAZQCS2QZA✅27000000#CINW2LDMJN3DT6VGRRE2WATP7GY6X2WXCNOBILMNXKJDA3GGSHVQ✅27010000#LT4DYXFOETSO5KHKYBA2LFOUHQJRQXHJXD5MTOTS3C3YX5LMR2QA✅