In the Zeebe service configuration in Docker, there’s the setting: ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_BULK_SIZE=1. I’ve seen in the documentation that it has something to do with the number of records a batch must have before releasing it. But I’d like to understand what this actually means in practice. Can anyone explain it better?
Zeebe brokers can export records (process instances, jobs, variables, etc.) to Elasticsearch. The ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_BULK_SIZE setting controls how many records are grouped into a single bulk request sent to Elasticsearch.
if ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_BULK_SIZE=1 - Each individual record will be sent immediately to Elasticsearch. Basically, it means collect 1 record, send it to Elasticsearch, wait for the response, then continue with the next.
It might be good for testing or debugging, but in production, it will increase the load on Elasticsearch and most likely overwhelm your Elasticsearch cluster, slowing down Zeebe exporting.
Good, well explained, but what happens if this line is commented out? In other words, this configuration is not explicitly passed?
In this case, the default value will be used.
source: Elasticsearch exporter | Camunda 8 Docs
If I managed to answer all your questions, please mark it as “Solution” so that other people with the same question can easily find the answer, and so that the topic can be closed.
Thank you very much, you helped a lot.
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

