-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Retry locking of child TXs in batches instead of per locked parent #2858
Conversation
b21ac6e
to
56a3fa9
Compare
Needs rebase |
56a3fa9
to
0173582
Compare
Rebased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
utACK
Test failures seem to be unrelated. I'll re-trigger travis |
0173582
to
54e0dcf
Compare
This especially avoids many calls to ReadBlockFromDisk
54e0dcf
to
30441e4
Compare
One of the test failures was a race condition which is fixed in bitcoin#13192. Backporting this fix is quite hard atm as we're still missing some other backports, so I added a temporary fix which we can later remove when we backport the real fix. The other test failure was in p2p-autoinstantsend.py, which I was not able to tackle down yet. It seems to happen only from time to time. |
9c69c57
to
30441e4
Compare
As discussed in Slack, I'm moving unrelated Travis fixes into its own PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK
Retrying immediately when a IS lock came in resulted in many repeated calls to
ReadBlockFromDisk
, slowing down and blocking other stuff. This PR changes retrying of locking to batched retries, invoked from the sig shares worker thread.This PR currently includes #2857, which I'll remove later by rebasing.