Can we resue serialized ShardSearchRequest in coordinator? And reuse it among channels?

When coordinator send ShardSearchRequest to data nodes, it need serialize this shard request many times for every shard, even these request are all the same.

Can we just serialize it one time, and send it to different shards? Furthermore, just send one request for multi shards when these shards stay in same node ?

Can we also use this serialized singleton msg among different channels to send it ?

I think it would be like TransportBroadcastByNodeAction.

Yes, that's (effectively) what Introduce batched query execution and data-node side reduce by original-brownbear · Pull Request #121885 · elastic/elasticsearch · GitHub does.

1 Like