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

**URL:** <https://discuss.elastic.co/t/can-we-resue-serialized-shardsearchrequest-in-coordinator-and-reuse-it-among-channels/378067>\
**Category:** Elasticsearch\
**Created:** [May 13, 2025, 1:25am UTC](https://discuss.elastic.co/t/can-we-resue-serialized-shardsearchrequest-in-coordinator-and-reuse-it-among-channels/378067 "2025-05-13T01:25:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![vsop\_479](https://avatars.discourse-cdn.com/v4/letter/v/6f9a4e/32.png) [@vsop\_479](https://discuss.elastic.co/u/vsop_479)\
**Post date:** [May 13, 2025, 1:25am UTC](https://discuss.elastic.co/t/can-we-resue-serialized-shardsearchrequest-in-coordinator-and-reuse-it-among-channels/378067/1 "2025-05-13T01:25:28Z")

</div>

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 ?

---

<div class="post-metadata">

**Author:** ![vsop\_479](https://avatars.discourse-cdn.com/v4/letter/v/6f9a4e/32.png) [@vsop\_479](https://discuss.elastic.co/u/vsop_479)\
**Post date:** [May 13, 2025, 9:17am UTC](https://discuss.elastic.co/t/can-we-resue-serialized-shardsearchrequest-in-coordinator-and-reuse-it-among-channels/378067/2 "2025-05-13T09:17:09Z")

</div>

I think it would be like TransportBroadcastByNodeAction.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [May 13, 2025, 9:56am UTC](https://discuss.elastic.co/t/can-we-resue-serialized-shardsearchrequest-in-coordinator-and-reuse-it-among-channels/378067/3 "2025-05-13T09:56:23Z")

</div>

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