elastic / elastic/elasticsearch
`TransportBulkAction` does not use `SYSTEM_CRITICAL_WRITE` pool for critical writes
Open
:Core/Infra/Core
>bug
Team:Core/Infra
- Dominant language
- Java
- Stars
- 77.9k
- Forks
- 26.1k
- PR merge metrics
- PR metrics pending
Description
Today `TransportBulkAction` chooses between `WRITE` and `SYSTEM_WRITE` depending on whether the request targets non-system indices:
https://github.com/elastic/elasticsearch/blob/60d5083b5f1c632f01ddc0fc7271eebd52666f6e/server/src/main/java/org/elasticsearch/action/bulk/TransportBulkAction.java#L249-L250
In #72625 we introduced another pool for critical system index writes, but did not adapt `TransportBulkAction` to use it. This means that a write to a critical system index may be enqueued behind other system index writes on the coordinating node. We should make sure to use `SYSTEM_CRITICAL_WRITE` here if appropriate.
Contributor guide
Assessment
This issue has not been assessed yet.