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

Engine: back port fix to a potential dead lock when failing engine during COMMIT_TRANSLOG flush #9501

Closed
wants to merge 2 commits into from

Conversation

bleskes
Copy link
Contributor

@bleskes bleskes commented Jan 30, 2015

The current failShard method calls the close() method, which acquired a writer lock. If the thread comes from the flush COMMIT_TRANSLOG flush path, it already has a reader lock. This is detected by an assertion that tripped in one of our test runs.

This was fixed as part of #9211

…ring COMMIT_TRANSLOG flush

This was fixed as part of elastic#9211
@s1monw
Copy link
Contributor

s1monw commented Jan 30, 2015

this looks great, I think all the asserts and the threadlocal in the InternalLock is now unused and can be removed too?

@bleskes
Copy link
Contributor Author

bleskes commented Jan 30, 2015

@s1monw good catch. Removed.

@s1monw
Copy link
Contributor

s1monw commented Feb 9, 2015

LGTM

bleskes added a commit that referenced this pull request Feb 9, 2015
…ring COMMIT_TRANSLOG flush

This was fixed as part of #9211

Closes #9501
@bleskes
Copy link
Contributor Author

bleskes commented Feb 9, 2015

pushed. Thx.

@bleskes bleskes closed this Feb 9, 2015
@bleskes bleskes deleted the deadlock_fail_on_flush_1.4 branch February 9, 2015 08:30
mute pushed a commit to mute/elasticsearch that referenced this pull request Jul 29, 2015
…ring COMMIT_TRANSLOG flush

This was fixed as part of elastic#9211

Closes elastic#9501
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants