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
Fork CCS remote-cluster responses #98124
Fork CCS remote-cluster responses #98124
Conversation
Today during CCS we process responses from remote clusters on the transport worker thread, but that's not the right place for this work. This commit moves it to the `SEARCH_COORDINATION` pool. Closes elastic#97997
Pinging @elastic/es-search (Team:Search) |
Hi @DaveCTurner, I've created a changelog YAML for you. |
I did a little ad-hoc testing of this change one of my CCS branches in progress and it seemed the same as before based on my limited testing of it (e.g., I'm currently dealing with a strange async-search CCS race condition and it happens on both I don't know a lot about ES threadpool details. Are there any limitations or considerations I should be aware of that this |
We have to be very careful about what we run on the transport pool. We still use it far too much, with cluster-destroying consequences sometimes, although these days it's not as bad as it used to be. A lot of the places we use it are because historically this has been the default choice, but it's a really bad default choice: we really should default to another pool unless there's very good reasons to keep work on the transport pool. CCS responses in particular can be too large to reasonably process on the transport worker, and CCS has enough latency that we can afford a few µs of forking overhead, and I believe if In contrast the |
Similar to elastic#98124, this action involves doing potentially O(#shards) work on both sender and receiver so it'd be best to avoid the transport worker.
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
Similar to #98124, this action involves doing potentially O(#shards) work on both sender and receiver so it'd be best to avoid the transport worker.
Today during CCS we process responses from remote clusters on the
transport worker thread, but that's not the right place for this work.
This commit moves it to the
SEARCH_COORDINATION
pool.Closes #97997