Skip to content
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

DM-17608: use transactions in gen2convert to avoid slow locking #125

Merged
merged 3 commits into from Feb 2, 2019

Conversation

TallJimbo
Copy link
Member

These changes were originally committed to DM-17496, but are not really part of its primary goal, and are actually more important to get merged, as they fix a slowdown in ci_hsc on master. They have been tested with the stack being used for the demo later today (via the DM-17496 branch), and while we do not plan to use this branch for the demo, it would be desirable to get this into the weekly.

See commit messages for details.

This is necessary to avoid poor performance on shared filesystems with
SQLite's now-aggressive file locking (by making us lock the DB once
instead of repeatedly locking and unlocking).

It also seems desirable, in the absence of self-consistent
finer-grained transactions on what is inserted into the converted repo
(which we certainly did not have before).
We saw some warnings about accessing SQLite connections from different
threads when testing PipelineTask execution with multiprocessing.
Those seem to have come when the Python multiprocessing module ends a
process and hence closes a connection, and didn't actually cause any
problems that we could see.  This change just disables that warning.
@TallJimbo TallJimbo merged commit 899f986 into master Feb 2, 2019
@TallJimbo TallJimbo deleted the tickets/DM-17608 branch February 2, 2019 02:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants