Bug: missing snapshot in history.
Closed this issue · 3 comments
Affected Portal:
All
Description:
Megha reported that a snapshot is missing for the transaction: https://nearblocks.io/txns/2JGVF3aNo85jyCEX6SLSEKYekd2ndKzjwqRZxXjrK4p1#execution.
This does not block taking the new API live as it only affects the timeline at the bottom of RFPs and proposals.
ETA:
Approximately 3 days, due to the uncertainty involved in debugging and fixing the issue, along with writing the necessary tests to ensure proper coverage and prevent regressions.
User Type:
Everyone
Reproduction Steps:
- Inspect the title of the snapshot: https://nearblocks.io/txns/2JGVF3aNo85jyCEX6SLSEKYekd2ndKzjwqRZxXjrK4p1#execution.
- Query https://testing-indexer.fly.dev/proposal/2/snapshots and observe that the snapshot is missing.
Expected Behavior:
Snapshots should be properly recorded and displayed, ensuring the timeline on RFPs and proposals is accurate.
Visual Reference:
If applicable, add screenshots or video recordings to help explain the problem.
Priority:
Critical (P0)
Additional Context:
Include any other relevant information that might help diagnose the issue, such as error messages or additional observations.
The API is now showing the correct snapshots in the response. Going forward I protected the main branch to require a PR to merge to the neardevhub-api-rs repository.
Closing this issue since it has been fixed, I will add the tests as part of #986
I've found several ways to improve the accuracy of the cache API. The improvements are visible in PR #5
- We now check the receipt outcome status for every transaction that is used to store a snapshots.
- We missed a few transactions those are now included, this was because we used the receipt
block.block_height
to fetch the changelog of tx's from nearblocks instead of theblock.block_height
. I used the receipt_block.block_height to loop through nearblocks but I should use the block.block_height for the after_block= query parameter. I now see all the set_block_height_callback "transactions".
TODO
- Figure out what is different between the devhub cache api and the pagoda and why these test are failing
- Debug why the propsal snapshot is not up-to-date with the latest
For instance, Proposal 266 very recent. Nearblocks shows the paymentprocessing as status. 1 block later I get the status of the proposal and it is not loaded yet updated in the archival RPC. So it returns APPROVED. I will add some extra block's as an offset to the RPC call so that it will be updated in the RPC as well.