When the mget does a bulkUpdate to change task statuses from idle to claiming or running, it uses the task store's bulkUpdate. The bulkUpdate under the hood uses the saved-object repository which recently got changed to support downward-compatible updates (https://github.com/elastic/kibana/issues/152807) by performing a get + Kibana side update before calling index. These extra requests add latency to task runtime and load to Elasticsearch that we do not need when rolling upgrades isn't a concern for claiming and releasing tasks.
Requirements
[ ] Task store supports partial bulk updates that work directly with the Elasticsearch client. Similar to this PoC.
When the mget does a bulkUpdate to change task statuses from
idle
toclaiming
orrunning
, it uses the task store's bulkUpdate. The bulkUpdate under the hood uses the saved-object repository which recently got changed to support downward-compatible updates (https://github.com/elastic/kibana/issues/152807) by performing a get + Kibana side update before callingindex
. These extra requests add latency to task runtime and load to Elasticsearch that we do not need when rolling upgrades isn't a concern for claiming and releasing tasks.Requirements