-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
IO resource exhaustion due to LevelDB compaction #10987
Comments
I have a branch that adds somethings that could fix this, I can spend sometime on getting it finished. |
@marbar3778 do the changes in your branch affect Rocksdb also, or are they goleveldb specific? |
they are goleveldb optimisations. I would need to read more into rocks to better understand how it works |
@marbar3778 What is the progress for this issue? We came across this issue too. |
we tested change and got way less compaction but the down side is possible increase in disk size, but it was marginal. the changes are in cosmos-db which we will migrate to post 0.47. in 1-1.5 months This along side key format changes in iavl will produce way less compaction |
Interesting, may I know what the change is?
this one right? this should help the compaction to my understanding. |
disabling seek compaction |
What's the status of this issue, and work needed to close it? The mentioned issue was closed without merging. |
With the upcoming iavl changes we are hoping this will be more efficient. We plan on testing it this coming week |
we have been profiling the new iavl changes on IAVL and they show a significant reduction in compaction, closing this issue. Look for the Eden release in order to use these changes |
Summary of Bug
It seems like LevelDB compaction is still a major source of IOPS and resource exhaustion nodes. Related to #2131.
I've taken the liberty of classifying this as a bug as it is severely affecting performance around Epoch on Osmosis.
I still believe the major reason for this is that primary keys are changed constantly in IAVL resulting in reorganisation at the LevelDB layer. See #2131 (comment).
This is the output of a "tail -F application.db/LOG" on Osmosis inside the data directory. Compaction is neverending.
(video here to see just how bad it is)
https://twitter.com/mdyring/status/1484169718378287107?s=20
Version
All networks / versions. Dates back to early Cosmos-SDK days.
Steps to Reproduce
Run any Cosmos-SDK enabled chain. Easily observable on the more busy ones such as Osmosis or Cosmos Hub.
Use
tail -F application.db/LOG
in the data directory.For Admin Use
The text was updated successfully, but these errors were encountered: