It seems like Xodus uses the amount of memory proportional to the size of writing transaction (correct me if I am wrong, please). So for big transactions it can become a problem, and for my application I have to chose much larger heap size "just in case" of a large working set for Xodus. Are there ways to reduce the memory use? Config setting? Heuristics?
Asked
Active
Viewed 103 times
1 Answers
1
First possible approach is to split changes into batches and flush them using jetbrains.exodus.entitystore.StoreTransaction#flush
one by one. For example if you want to insert 100K entities into database it's better to do that with batches.
If you extensively use large blobs then it's better to store them into temporary files first.

lehvolk
- 233
- 1
- 4
-
Thanks! It's unclear to me though if a "flushed" transaction can be aborted by an exception. Can it? – Mikhail Puzanov Sep 19 '19 at 12:46
-
@MikhailPuzanov flushed transaction cannot be aborted by an exception. – Vyacheslav Lukianov Sep 26 '19 at 17:27