Skip to content

TransportBroadcastByNodeAction does O(#shards) work on transport worker thread #97914

Closed
@DaveCTurner

Description

@DaveCTurner

Three interrelated issues here:

  • TransportBroadcastByNodeAction derivatives are typically executed via NodeClient which bypasses the TransportService and therefore does not respect (or even know about) the executor parameter which would fork. This means that the coordination work, including grouping all the shards by node, happens on the calling thread. When executed from the REST layer, that's a transport worker. This is NodeClient executes transport actions without forking #97916, but until that's fixed we need a workaround.

  • The node-level responses are deserialised and processed on the receiving transport worker too.

  • Several of these actions use SAME for their executor, bypassing the forking that does exist today.

Relates #77466

Metadata

Metadata

Assignees

No one assigned

    Labels

    :Distributed Indexing/DistributedA catch all label for anything in the Distributed Indexing Area. Please avoid if you can.>bugTeam:Distributed (Obsolete)Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions