-
Notifications
You must be signed in to change notification settings - Fork 165
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
MemoryOverflowModel transactional disk sync performs very poorly #2998
Comments
@abrokenjester Is this still on your guys' radar? I am seeing some pretty poor performance when loading in very large files with |
You should be able to bypass it if you start a transaction with the NONE isolation level. As long as you don't need transaction isolation. |
It's kind of dropped off the radar a bit to be honest. @hmottestad 's suggestion to disable txn isolation for bulk uploads is a good workaround, but for fixing the underlying issue, we could use some fresh perspectives or an extra pair of hands. |
I'd be interested in potentially contributing a bit more to the project, but would definitely need to familiarize myself more with the codebase. EDIT: removed message and made bug |
@abrokenjester As far as I can see |
see also #4557 One of the main reasons for the bad performance is that MemoryOverflowModel switches too late to a disk-based model. |
In the MemoryOverflowModel used by the native store to handle data upload transactions, a big performance penalty has been observed whenever the model triggers syncing data to disk. On the mailinglist, Arjohn Kampman provided this analysis:
We should look into fixing this. Possible fixes include somehow eliminating one of the mentioned txn-update calls. A more drastic fix might be looking at using a disk sync that is not transactional: we currently use separate native store as the "backup", which has overhead. Something like MapDB or Ehcache for persistence might give better performance.
The text was updated successfully, but these errors were encountered: