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

fix: splitstore: Don't deadlock in mpool protector #9903

Merged
merged 1 commit into from
Dec 19, 2022

Conversation

magik6k
Copy link
Contributor

@magik6k magik6k commented Dec 17, 2022

Related Issues

Addresses #9846

Proposed Changes

Don't deadlock in splitstore compaction when applying mpool protector; Bail from compaction when mpool is busy.

A better fix would be to maybe drop the splitstore lock while applying protectors, and re-get the lock in protector callback.

Additional Info

My node has hit this 4 times in a row now, and it's very annoying, so I have fixed it.

Checklist

Before you mark the PR ready for review, please make sure that:

  • Commits have a clear commit message.
  • PR title is in the form of of <PR type>: <area>: <change being made>
    • example: fix: mempool: Introduce a cache for valid signatures
    • PR type: fix, feat, build, chore, ci, docs, perf, refactor, revert, style, test
    • area, e.g. api, chain, state, market, mempool, multisig, networking, paych, proving, sealing, wallet, deps
  • New features have usage guidelines and / or documentation updates in
  • Tests exist for new functionality or change in behavior
  • CI is green

@magik6k magik6k requested a review from a team as a code owner December 17, 2022 12:16
Copy link
Contributor

@arajasek arajasek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Acceptable quickfix, I think.

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.

2 participants