-
Notifications
You must be signed in to change notification settings - Fork 50
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
fix: OOM on large DAGs #410
Conversation
Storing a set of seen CIDs to short-cut DAG traversal while ensuring we have all the blocks in a DAG in the blockstore can cause OOMs for very large DAGs.
How easy is it to add a regression test? |
The optimisation is now retained but we use a LRU cache instead of an unbounded Set. |
Refactor to use a lru cache instead of an unbounded set and add a test to make sure the cache actually caches things.
🎉 This PR is included in version ipfs-repo-migrations-v13.0.3 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [ipfs-repo-v15.0.3](ipfs-repo-v15.0.2...ipfs-repo-v15.0.3) (2022-09-21) ### Bug Fixes * OOM on large DAGs ([#410](#410)) ([336d0b9](336d0b9))
🎉 This PR is included in version ipfs-repo-v15.0.3 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Storing a set of seen CIDs to short-cut DAG traversal while ensuring we have all the blocks in a DAG in the blockstore can cause OOMs for very large DAGs so replace the unbounded
Set
with aLRU
cache with a configurable maximum size.