Skip to content

Conversation

@axw
Copy link
Contributor

@axw axw commented Jul 17, 2024

Description:

Refactor the Elasticsearch bulk indexer code to create an abstraction around the existing buffering, asynchronous bulk indexer.

This is preparation for supporting two implementations of bulk indexing: the existing asynchronous one, and a new synchronous one that works well with exporterhelper's batch sender -- see #32632.

Link to tracking Issue:

#32377

Testing:

N/A, this is a non-functional change.

Documentation:

N/A, pure refactoring.

axw added 3 commits July 17, 2024 11:11
This is in preparation for having two parallel implementations
for bulk indexing: the current buffering/async one, and a new
synchronous one that would work with the exporterhelper batch
sender.
Unnecessary indirection.
This is in preparation for introducing a new synchronous
bulk indexer that will integrate with the exporterhelper
batch sender: in that setup, the batch sender will batch
before getting to the exporter, and make concurrent requests
to the exporter's Consume* methods.

The new "session" abstraction is intended to enable memory
pooling and to efficiently and incrementally add a batch of
documents before synchronously flushing.
@axw axw marked this pull request as ready for review July 17, 2024 05:50
@axw axw requested review from a team and bogdandrutu July 17, 2024 05:50
@mx-psi mx-psi merged commit 12d41f4 into open-telemetry:main Jul 22, 2024
@github-actions github-actions bot added this to the next release milestone Jul 22, 2024
@axw axw deleted the elasticsearch-refactor-bulkindexer branch July 23, 2024 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants