[
https://issues.apache.org/jira/browse/FLINK-33857?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Peter Schulz updated FLINK-33857:
---------------------------------
Description:
There's [a bug|https://github.com/elastic/elasticsearch/issues/103406] in
elasticsearch that may lead to underestimated bulk request sizes. We are hit by
this bug and therefore, I would like to propose a simple improvement to work
around it:
{{ElasticsearchWriter}} uses {{RequestIndexer}} as a facade for ES'
{{BulkProcessor}}. As of now, only the {{add(…)}} methods are delegated. Under
the hood, the {{BulkProcessor}} takes care of flushing bulk requests to the
server when any of the configurable limits is hit (there's another bug:
flushing will happen _after_ the limit has exceeded).
(+) *Proposal:* Expose {{BulkProcessor.flush()}} via
{{RequestIndexer.flush()}}. This way we can easily implement logic to decide
when to flush, inside the emitter.
I created a [pull
request|https://github.com/apache/flink-connector-elasticsearch/pull/85].
Feedback is highly welcome. :)
was:
There's [a bug|https://github.com/elastic/elasticsearch/issues/103406] in
elasticsearch that may lead to underestimated bulk request sizes. We are hit by
this bug and therefore, I would like to propose a simple improvement to work
around it:
{{ElasticsearchSinkWriter}} uses {{RequestIndexer}} as a facade for ES'
{{BulkProcessor}}. As of now, only the {{add(…)}} methods are delegated. Under
the hood, the {{BulkProcessor}} takes care of flushing bulk requests to the
server when any of the configurable limits is hit (there's another bug:
flushing will happen _after_ the limit has exceeded).
(+) *Proposal:* Expose {{BulkProcessor.flush()}} via
{{RequestIndexer.flush()}}. This way we can easily implement logic to decide
when to flush, inside the emitter.
I created a [pull
request|https://github.com/apache/flink-connector-elasticsearch/pull/85].
Feedback is highly welcome. :)
> Expose BulkProcessor.flush via RequestIndexer to allow custom flush logic
> -------------------------------------------------------------------------
>
> Key: FLINK-33857
> URL: https://issues.apache.org/jira/browse/FLINK-33857
> Project: Flink
> Issue Type: Improvement
> Components: Connectors / ElasticSearch
> Affects Versions: elasticsearch-3.0.1
> Reporter: Peter Schulz
> Priority: Major
> Labels: pull-request-available
>
> There's [a bug|https://github.com/elastic/elasticsearch/issues/103406] in
> elasticsearch that may lead to underestimated bulk request sizes. We are hit
> by this bug and therefore, I would like to propose a simple improvement to
> work around it:
> {{ElasticsearchWriter}} uses {{RequestIndexer}} as a facade for ES'
> {{BulkProcessor}}. As of now, only the {{add(…)}} methods are delegated.
> Under the hood, the {{BulkProcessor}} takes care of flushing bulk requests to
> the server when any of the configurable limits is hit (there's another bug:
> flushing will happen _after_ the limit has exceeded).
> (+) *Proposal:* Expose {{BulkProcessor.flush()}} via
> {{RequestIndexer.flush()}}. This way we can easily implement logic to decide
> when to flush, inside the emitter.
> I created a [pull
> request|https://github.com/apache/flink-connector-elasticsearch/pull/85].
> Feedback is highly welcome. :)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)