You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Three interrelated issues here:
TransportBroadcastByNodeActionderivatives are typically executed viaNodeClientwhich bypasses theTransportServiceand therefore does not respect (or even know about) theexecutorparameter 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 isNodeClientexecutes 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
SAMEfor their executor, bypassing the forking that does exist today.Relates #77466