-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make the GetTipsetByHeight
in-memory skip list cache persistent for finalised tipsets
#12568
Labels
kind/feature
Kind: Feature
Comments
aarshkshah1992
changed the title
Make the
Make the Oct 9, 2024
GetTipsetByHeight
in-memory skip list cache persistent for finalised tipsetsGetTipsetByHeight
in-memory skip list cache persistent for finalised tipsets
Glif's archival node only took 3 hours for the hydration all the way upto genesis. So it's bad but not that bad. |
11 tasks
Note that we need the |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When a Lotus node starts up, it kicks-off a "prefilling" of the in-memory
GetTipsetByHeight
cache in a go-routine. See here.On Archival nodes, this pre-filling can take hours (RPC queries for tipsets way in the past will take a really long time/fail till this cache is pre-filled). However, because the cache is in-memory, the pre-filling needs to be done all over again once the node restarts.
Once the
ChainIndexer
ships -> we should re-engineer theGetTipsetByHeight
cache to use the persistentChainIndexer
atleast for finalised tipsets. We should also investigate if there's a strong reason to not do this for non-finalised tipsets.This will improve UX for Archival RPC providers and also speed up RPC queries for finalised tipsets immediately after node boot up.
The text was updated successfully, but these errors were encountered: