-
Notifications
You must be signed in to change notification settings - Fork 160
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
Garbage collector should not collect manifests #4926
Labels
Type: Bug
Something isn't working
Comments
4 tasks
Is there an option to store manifests in a separate namespace so they don't get garbage collected ever? |
Yes, like our settings, the manifests should be stored in a separate column. |
Decide on the option by implementor:
|
Going with blessed column as per team decision. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
Each network upgrade has a manifest. This manifest is stored in the blockstore on start-up. The manifests are unreachable from the blockstore and will, therefore, get garbage collected. The missing manifests will cause the next network upgrade to fail.
To reproduce
Run
forest
continuously for a week before a network upgrade.Log output
Log Output
Expected behaviour
Manifests should not be garbage collected.
Screenshots
Environment (please complete the following information):
Other information and links
Option 1 - Blessed column
Have a separate column for Manifest storage. Plug it into the
get
that doesDbColumn::GraphDagCborBlake2b256 | DbColumn::GraphFull
already. It's an extra read, but only when there is a miss on the above columns.Pros
Cons - negligible
Option 2 - Whitelist
Whitelist certain CIDs to prevent them from being GCed.
Pros
Cons
Option 3 - On-demand download of manifests before network upgrades
Download bundles as needed X epochs before the upgrade.
Pros
Cons
The text was updated successfully, but these errors were encountered: