-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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 Edge-Case Threading Bug in TransportMountSearchableSnapshotAction #73196
Fix Edge-Case Threading Bug in TransportMountSearchableSnapshotAction #73196
Conversation
The callback to loading the repository-data may not run on generic in the uncached case because of the repo data deduplication logic. The same issue was fixed for the snapshot status API in elastic#68023
Pinging @elastic/es-distributed (Team:Distributed) |
@@ -280,6 +280,6 @@ protected void masterOperation( | |||
.snapshotUuid(snapshotId.getUUID()), | |||
listener | |||
); | |||
}, listener::onFailure); | |||
}, listener::onFailure), threadPool.generic(), null); |
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.
As discussed in #73172 we could use the new snapshot meta pool here to limit concurrency of this operation. I think it makes sense to do that.
You mean in the repository? The annoying thing about that is that it may cause a number of needless context switches where we don't actually have to fork off. But maybe with the new pool that's ok and we could always switch to it even if it causes some needless switches. For now I just made this thing fork to the new pool though. |
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.
LGTM
Thanks David! |
…elastic#73196) The callback to loading the repository-data may not run on generic in the uncached case because of the repo data deduplication logic. The same issue was fixed for the snapshot status API in elastic#68023
The callback to loading the repository-data may not run on generic in the uncached case
because of the repo data deduplication logic.
The same issue was fixed for the snapshot status API in #68023