-
Notifications
You must be signed in to change notification settings - Fork 24.7k
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 TransportFieldCapabilitiesAction Blocking Transport Thread #75022
Fix TransportFieldCapabilitiesAction Blocking Transport Thread #75022
Conversation
Running a request per index could take a very long time here if the request covers a larger number of shards (especially when security is enabled). Forking it to the management pool saves the transport thread from getting blocked. Also, to make this request run quicker (again esepecially with security enabled) I removed the redundant index-level request fan-out here as well to save one step of redundant request handling and authorization (the shard level request is authorized separately again anyway). In a follow-up to 8.x because of 7.x BwC issues, we can refactor away the redundant index-level fan out as well.
Pinging @elastic/es-core-features (Team:Core/Features) |
@elasticmachine update branch |
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, nice simplification.
Thanks Jim! |
…ic#75022) Running a request per index could take a very long time here if the request covers a larger number of shards (especially when security is enabled). Forking it to the management pool saves the transport thread from getting blocked. Also, to make this request run quicker (again especially with security enabled) I removed the redundant index-level request fan-out here as well to save one step of redundant request handling and authorization (the shard level request is authorized separately again anyway). In a follow-up to 8.x because of 7.x BwC issues, we can refactor away the redundant index-level fan out as well.
We have a number of failures in these tests due to elastic#75022 which makes the field caps transport action fork to the management pool. -> we have to always fork in this test now to not block the management pool.
We have a number of failures in these tests due to #75022 which makes the field caps transport action fork to the management pool. -> we have to always fork in this test now to not block the management pool.
We have a number of failures in these tests due to elastic#75022 which makes the field caps transport action fork to the management pool. -> we have to always fork in this test now to not block the management pool.
… (#75081) Running a request per index could take a very long time here if the request covers a larger number of shards (especially when security is enabled). Forking it to the management pool saves the transport thread from getting blocked. Also, to make this request run quicker (again especially with security enabled) I removed the redundant index-level request fan-out here as well to save one step of redundant request handling and authorization (the shard level request is authorized separately again anyway). In a follow-up to 8.x because of 7.x BwC issues, we can refactor away the redundant index-level fan out as well.
Follow up to elastic#75022 removing now outdated BwC code from `8.x` + some additional related dead BwC removal. In `7.x` we can't drop the index-level transport action I think because of technical BwC with the transport client so this is just an 8.x PR.
Follow up to #75022 removing now outdated BwC code from `8.x` + some additional related dead BwC removal. In `7.x` we can't drop the index-level transport action I think because of technical BwC with the transport client so this is just an 8.x PR.
Pinging @elastic/es-search (Team:Search) |
…ic#75022) (elastic#75081) Running a request per index could take a very long time here if the request covers a larger number of shards (especially when security is enabled). Forking it to the management pool saves the transport thread from getting blocked. Also, to make this request run quicker (again especially with security enabled) I removed the redundant index-level request fan-out here as well to save one step of redundant request handling and authorization (the shard level request is authorized separately again anyway). In a follow-up to 8.x because of 7.x BwC issues, we can refactor away the redundant index-level fan out as well.
Any thoughts on how much this will help slow field_caps responses? |
… (#75081) (#76388) Running a request per index could take a very long time here if the request covers a larger number of shards (especially when security is enabled). Forking it to the management pool saves the transport thread from getting blocked. Also, to make this request run quicker (again especially with security enabled) I removed the redundant index-level request fan-out here as well to save one step of redundant request handling and authorization (the shard level request is authorized separately again anyway). In a follow-up to 8.x because of 7.x BwC issues, we can refactor away the redundant index-level fan out as well.
@mattkime this won't be an order-of-magnitude improvement. I think best case this is a ~2x speedup and the real world will probably see less than 2x due to other noise. |
Running a request per index could take a very long time here if the request covers
a larger number of shards (especially when security is enabled).
Forking it to the management pool saves the transport thread from getting blocked.
Also, to make this request run quicker (again especially with security enabled)
I removed the redundant index-level request fan-out here as well to save one step
of redundant request handling and authorization (the shard level request is authorized
separately again anyway). In a follow-up to 8.x because of 7.x BwC issues, we can
refactor away the redundant index-level fan out as well.