Lotus Chain Snapshots - Full Chain Snapshots #8436
Replies: 4 comments 5 replies
-
I hope to keep state roots, it's useful. The way to provide a variety of build full chain node is always good. |
Beta Was this translation helpful? Give feedback.
-
We have implemented the first two internally, but we use s3 and minio. Is there a way to export only the newly added data, not the full state tree? |
Beta Was this translation helpful? Give feedback.
-
From my point of view, processing of full chain snapshot already takes around several days for big instance and 2000 or little bit more latest blocks are okay to be processed by node itself. |
Beta Was this translation helpful? Give feedback.
-
I am archiving this discussion as there has been no new input from the author for more than 7 days. |
Beta Was this translation helpful? Give feedback.
-
We are starting some work to improve the way snapshots are create and managed to improve SLA and we want to gather some feedback from the community.
There are currently two snapshot types provided:
https://lotus.filecoin.io/lotus/manage/chain-management/#syncing
Background
The Full chain snapshots are currently created in a very crude manner. They are done using the same chain export that is used to create the Lightweight snapshots. Because the Full chain snapshot contains all messages, this results in 99% of duplicate data exported when compared to a previous export (eg all messages from genesis to current block are exported, with only 24 hours of new messages added from the previous export).
The primary purpose of the "Full chain" snapshot is to provide all messages. This allows a user to then recompute all state if they need.
We are looking into changing the way we create these Full chain snapshots to make for a more efficient process. There are a few ways this can be done, but most likely this will result in the Full chain snapshot loosing the 2000 blocks of state data, and instead being only messages (and maybe block headers).
The lightweight snapshot already contains all blockheaders, plus the 2000 latest state-roots and the companying messages.
To replace the functionality of Full chain snapshots, we want to provide a way for users to inflate / backfill a Lightweight snapshot with the missing messages.
For example; this might look like
If you are using the Full chain snapshot we would like to hear from you to understand your use-case, and the impact these changes might have on you. Please respond to this discussion post.
Beta Was this translation helpful? Give feedback.
All reactions