Skip to content

RestGetRollupCapsAction and RestGetRollupIndexCapsAction invoke expensive GetRollupCapsAction on transport threads #92179

@original-brownbear

Description

@original-brownbear

This is a known issue around rest actions. They execute transport actions in the current thread instead of the thread that the action is registered for with the transport service in code like:

return channel -> client.execute(GetRollupIndexCapsAction.INSTANCE, request, new RestToXContentListener<>(channel));

This is normally not an issue since the expensive actions that also have a REST endpoint are TransportMasterNodeActions. In the case of RestGetRollupCapsAction and RestGetRollupIndexCapsAction which aren't, this breaks the fix in #89803 if the action is used via the REST layer.

-> I think until we figure out if we want to change the way threading works with the client in the above code, we should manually fork to the management pool in these actions to fix the slow action blocking transport threads.

Metadata

Metadata

Assignees

Labels

:StorageEngine/RollupTurn fine-grained time-based data into coarser-grained data>bugTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions