Mehul Batra
04/27/2023, 2:51 PMdetect_noop[true]} of bulk request failed with status 409.
at org.apache.flink.connector.opensearch.sink.OpensearchWriter.extractFailures(OpensearchWriter.java:346)
at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMail(MailboxProcessor.java:398)
at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.processMailsNonBlocking(MailboxProcessor.java:383)
at
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:728)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:550)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.apache.flink.util.FlinkRuntimeException: Single action update
[OpenSearch exception [type=version_conflict_engine_exception, reason=[69404946617821]: version conflict, document already exists (current version [1])]]Tan Kim
04/27/2023, 2:59 PMMehul Batra
04/27/2023, 3:00 PMTan Kim
04/27/2023, 3:01 PM"org.apache.flink" % "flink-connector-elasticsearch7" % "1.16.1"Tan Kim
04/27/2023, 3:05 PMIndexRequest with create() to overwrite document.
val rqst: IndexRequest = Requests.indexRequest
.index(index)
.routing(input.routing.orNull)
.id(_id)
.create(true)
.source(..)
indexer.add(rqst)Mehul Batra
04/27/2023, 3:06 PMTan Kim
04/27/2023, 3:13 PMMehul Batra
04/28/2023, 6:42 AMMehul Batra
04/28/2023, 10:15 AMMehul Batra
04/28/2023, 2:29 PMorg.apache.flink.util.FlinkRuntimeException: org.apache.flink.util.FlinkRuntimeException: Single action update {[v2-es-urtrf-dedup-2023.04.24][30540477598461], doc_as_upsert[false], doc[index {[null][null], source[{], scripted_upsert[false], detect_noop[true]} of bulk request failed with status 409.
opensearch fails in case of upsertTan Kim
04/28/2023, 3:05 PM_id?
In my case with above setting, It’s working fine for bulk upsertingMehul Batra
04/28/2023, 3:07 PMMehul Batra
04/28/2023, 3:08 PMMehul Batra
04/28/2023, 3:08 PMSink DDL: (
`id` INT NOT NULL,
`state` STRING,
`dob` STRING,
`__sinkProcessingTime` STRING,
CONSTRAINT `PK_id` PRIMARY KEY (`id`) NOT ENFORCED
)
COMMENT ''
WITH (
'password' = '*****',
'connector' = 'opensearch',
'sink.bulk-flush.backoff.delay' = '18s',
'connection.timeout' = '180s',
'hosts' = '**',
'sink.bulk-flush.backoff.max-retries' = '10',
'index' = '{__sinkProcessingTime}',
'socket.timeout' = '180s',
'sink.bulk-flush.backoff.strategy' = 'EXPONENTIAL',
'connection.request-timeout' = '180s',
'username' = '**'
)