-
Notifications
You must be signed in to change notification settings - Fork 499
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
exp/services/ledgerexporter: Extend tool to work on ledger ranges in parallel. #4426
Comments
ledgerexporter
to work in parallel (e.g. AWS Batch-able), because single-process exporting is absolutely time-prohibitive for large ledger ranges.
I started implementing a single-process parallel version using goroutines, but .... considering the current memory requirements of Captive Core I am thinking that's probably a bad idea. Then, I thought about simply adding a new Additionally, I am thinking whether it's OK to update the |
@bartekn any thoughts about this? Using a distributed lock is going to be a bit of a pain in the ass. If we need to do so I think I would rather use Kubernetes instead of AWS Batch (were we can use things like https://github.com/werf/lockgate ) |
Actually, we could use a lock in the archive backend itself. For S3 we have Object locks |
I'm not sure if any kind of locking is needed because this issue is about exporting old ledgers. So for any range we can split it to more smaller ranges and ingest these in paralel. |
Yes, it doesn't make sense to parallelize exporting online ledgers. However, how do you suggest we handle the update of the
How does Maybe we could cut corners and keep it simple e.g:
thoughts? |
This would require quite a bit of extra work, but we could have a We could also have the workers wait on each other in sequence so that We could also abandon the idea of |
Currently, the indexer assumes that |
Another suggestion: we can use a two-step model for parallelization: each process exports ledgers to its own (sub-)directory with its own |
Done in #4443 |
We need to extend the
ledgerexporter
tool to export ledgers in parallel (e.g. doable on AWS Batch-able), because single-process exporting is absolutely time-prohibitive for large (and dense) ledger ranges.The text was updated successfully, but these errors were encountered: