-
Notifications
You must be signed in to change notification settings - Fork 590
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
IAVL snapshot - pruning race issue tracking #932
Comments
Are you still having issues tracking the pruning race? |
We are testing various configurations outside of the recommended settings. There are currently no observed issues on the recommended settings. With these tests, our goal is to fix the problem that requires to keep a large number of |
Currently, we don't know what is the threshold of |
Okay |
Context Potential solution
More issues related to pruning and snapshot are possible. Next Steps To ensure, that we are confident that the identified solution can help:
|
Another option is seeing if we can disable snapshots when syncing SDK-side |
The problem occurs not only during synching when aggressive pruning and snapshots are enabled Here we have:
E.g.:
|
What is the most aggressive pruning that we would like to support while having snapshots enabled? |
Oh interesting, I didn't realize snapshots are enabled here. I think we have to require keep-recent to be a sizable multiple of the snapshot interval right? Is there a way around that? |
That's correct. I think there is a way where we can work around requiring this
|
Just an update on this. I made a modified UML class diagram to understand the coupling between prune and snapshot logic better: Need to spend a bit more time thinking about the final design and all edge cases. Currently, I'm leaning towards the following:
The main idea is to move snapshot logic closer to where we perform pruning. Currently, these 2 functionalities are highly coupled but are done at different abstraction layers. As soon as we have them together, it would be easier to fix the racing problem. I will be back with a final design update this weekend. |
Had a bit of a delay on this, ended up being more complex than I thought. However, the implementation is ready here: osmosis-labs/cosmos-sdk#140 Everything I have so far is documented in the PR above. It seems to be working as I would expect it with I still need to do a minor cleanup of the code. Expecting to open a review tomorrow morning if my test node doesn't crash |
This was merged |
This is an issue to track our tests related to testing various configurations for snapshot and pruning settings on v6.4.0.
Our test cases:
https://docs.google.com/spreadsheets/d/1hTnM8GPnSuD0wppgNNWbKss7buLL_RKS0jaYo0X9EkM/edit#gid=0
The text was updated successfully, but these errors were encountered: