Closed carsonip closed 19 hours ago
Also benched with ~5MB vs ~1MB vs 95MB flush::bytes to an Elastic Cloud 64GB Elasticsearch, with num_workers=1:
5MB:
BenchmarkExporter/logs/otel/xxlarge_batch-16 1 99909472632 ns/op 10009 events/s 13099905120 B/op 68449712 allocs/op
1MB:
BenchmarkExporter/logs/otel/xxlarge_batch-16 1 108315234948 ns/op 9232 events/s 13138234072 B/op 68519404 allocs/op
95MB:
BenchmarkExporter/logs/otel/xxlarge_batch-16 1 97584554530 ns/op 10248 events/s 13092218512 B/op 68444255 allocs/op
Description
Limit the bulk request size to roughly
flush::bytes
for sync bulk indexer. Sync bulk indexer is used whenbatcher::enabled
is either true or false. In order words, sync bulk indexer is not used when batcher config is undefined. Changeflush::bytes
to always measure in uncompressed bytes. Change defaultbatcher::max_size_items
to0
as bulk request size limit is now more effectively enforced byflush::bytes
.Link to tracking issue
Fixes #36163
Testing
Modified BenchmarkExporter to run with
{name: "xxlarge_batch", batchSize: 1000000},
and removedbatcher::max_size_items
and added a log line for compressed and uncompressed buffer size to reproduce the error.With this PR, every flush logs and there is no error.
Documentation