You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Timo Walther (JIRA)" <ji...@apache.org> on 2018/08/31 06:21:00 UTC
[jira] [Updated] (FLINK-10269) Elasticsearch 6 UpdateRequest fail
because of binary incompatibility
[ https://issues.apache.org/jira/browse/FLINK-10269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timo Walther updated FLINK-10269:
---------------------------------
Summary: Elasticsearch 6 UpdateRequest fail because of binary incompatibility (was: Elasticsearch UpdateRequest fail because of binary incompatibility)
> Elasticsearch 6 UpdateRequest fail because of binary incompatibility
> --------------------------------------------------------------------
>
> Key: FLINK-10269
> URL: https://issues.apache.org/jira/browse/FLINK-10269
> Project: Flink
> Issue Type: Bug
> Components: ElasticSearch Connector
> Affects Versions: 1.6.0
> Reporter: Timo Walther
> Assignee: Timo Walther
> Priority: Major
>
> When trying to send UpdateRequest(s) to ElasticSearch6, and one gets the following
> error:
> Caused by: java.lang.NoSuchMethodError:
> org.elasticsearch.action.bulk.BulkProcessor.add(Lorg/elasticsearch/action/ActionRequest;)Lorg/elasticsearch/action/bulk/BulkProcessor;
> at
> org.apache.flink.streaming.connectors.elasticsearch.BulkProcessorIndexer.add(BulkProcessorIndexer.java:76)
> ElasticsearchSinkFunction:
> {code}
> import org.elasticsearch.action.update.UpdateRequest
> def upsertRequest(element: T): UpdateRequest = {
> new UpdateRequest(
> "myIndex",
> "record",
> s"${element.id}")
> .doc(element.toMap())
> }
> override def process(element: T, runtimeContext: RuntimeContext,
> requestIndexer: RequestIndexer): Unit = {
> requestIndexer.add(upsertRequest(element))
> }
> {code}
> This is due to a binary compatibility issue between the base module (which is compiled against a very old ES version and the current Elasticsearch version).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)