Closed
Description
The field capabilities splits the original request on a per-index basis. If 5 indices are requested, the API will send 5 independent requests, one per index. These individual requests have a cost:
- They serialize the same request multiple times.
- Occupy one network thread to perform the local operation and send the response back.
- They need to resolve the index permissions multiple times.
In order to reduce this cost, it might be beneficial to switch to a per-node request model where indices/shards that appear on the same node are grouped into a single request. Reducing the number of requests could also help to move these operations into a dedicated thread pool like we did for the new value suggester.