[jira] [Commented] (FLINK-16266) es6 & 7 table sql connector conflicts each other
[ https://issues.apache.org/jira/browse/FLINK-16266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17398048#comment-17398048 ] Shengnan YU commented on FLINK-16266: - Any update on this issue? > es6 & 7 table sql connector conflicts each other > > > Key: FLINK-16266 > URL: https://issues.apache.org/jira/browse/FLINK-16266 > Project: Flink > Issue Type: Bug > Components: Connectors / ElasticSearch >Affects Versions: 1.10.0 >Reporter: Benchao Li >Priority: Minor > Labels: auto-deprioritized-major > > If we put {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7}} into {{/lib}} at the same time, and > use it in {{sql-client}}, will get exceptions like: > > {code:java} > [ERROR] Could not execute SQL statement. Reason: > java.lang.AbstractMethodError: > org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchUpsertTableSinkFactoryBase.createElasticsearchUpsertTableSink(ZLorg/apache/flink/table/api/TableSchema;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/flink/api/common/serialization/SerializationSchema;Lorg/apache/flink/elasticsearch6/shaded/org/elasticsearch/common/xcontent/XContentType;Lorg/apache/flink/streaming/connectors/elasticsearch/ActionRequestFailureHandler;Ljava/util/Map;)Lorg/apache/flink/streaming/connectors/elasticsearch/ElasticsearchUpsertTableSinkBase; > {code} > > After analyzing the exceptions, IMO, it's because > {{flink-connector-elasticsearch-base}} is included into both > {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7. And > }}{{flink-connector-elasticsearch-base}}{{ has different implementation in 6 > & 7, because the version of elastic-search is different.}} > > {{A simple way for fixing this is we can relocate > }}{{flink-connector-elasticsearch-base in > }}{{flink-sql-connector-elasticsearch6}}{{ and > }}{{flink-sql-connector-elasticsearch7. For example for > }}{{flink-sql-connector-elasticsearch7:}} > {code:java} > >org.apache.flink.streaming.connectors.elasticsearch. > > org.apache.flink.streaming.connectors.elasticsearch7.base. > > {code} > {{cc [~jark] [~twalthr] }} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (FLINK-16266) es6 & 7 table sql connector conflicts each other
[ https://issues.apache.org/jira/browse/FLINK-16266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17336300#comment-17336300 ] Flink Jira Bot commented on FLINK-16266: This issue was labeled "stale-major" 7 ago and has not received any updates so it is being deprioritized. If this ticket is actually Major, please raise the priority and ask a committer to assign you the issue or revive the public discussion. > es6 & 7 table sql connector conflicts each other > > > Key: FLINK-16266 > URL: https://issues.apache.org/jira/browse/FLINK-16266 > Project: Flink > Issue Type: Bug > Components: Connectors / ElasticSearch >Affects Versions: 1.10.0 >Reporter: Benchao Li >Priority: Major > Labels: stale-major > > If we put {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7}} into {{/lib}} at the same time, and > use it in {{sql-client}}, will get exceptions like: > > {code:java} > [ERROR] Could not execute SQL statement. Reason: > java.lang.AbstractMethodError: > org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchUpsertTableSinkFactoryBase.createElasticsearchUpsertTableSink(ZLorg/apache/flink/table/api/TableSchema;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/flink/api/common/serialization/SerializationSchema;Lorg/apache/flink/elasticsearch6/shaded/org/elasticsearch/common/xcontent/XContentType;Lorg/apache/flink/streaming/connectors/elasticsearch/ActionRequestFailureHandler;Ljava/util/Map;)Lorg/apache/flink/streaming/connectors/elasticsearch/ElasticsearchUpsertTableSinkBase; > {code} > > After analyzing the exceptions, IMO, it's because > {{flink-connector-elasticsearch-base}} is included into both > {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7. And > }}{{flink-connector-elasticsearch-base}}{{ has different implementation in 6 > & 7, because the version of elastic-search is different.}} > > {{A simple way for fixing this is we can relocate > }}{{flink-connector-elasticsearch-base in > }}{{flink-sql-connector-elasticsearch6}}{{ and > }}{{flink-sql-connector-elasticsearch7. For example for > }}{{flink-sql-connector-elasticsearch7:}} > {code:java} > >org.apache.flink.streaming.connectors.elasticsearch. > > org.apache.flink.streaming.connectors.elasticsearch7.base. > > {code} > {{cc [~jark] [~twalthr] }} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (FLINK-16266) es6 & 7 table sql connector conflicts each other
[ https://issues.apache.org/jira/browse/FLINK-16266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17328031#comment-17328031 ] Flink Jira Bot commented on FLINK-16266: This major issue is unassigned and itself and all of its Sub-Tasks have not been updated for 30 days. So, it has been labeled "stale-major". If this ticket is indeed "major", please either assign yourself or give an update. Afterwards, please remove the label. In 7 days the issue will be deprioritized. > es6 & 7 table sql connector conflicts each other > > > Key: FLINK-16266 > URL: https://issues.apache.org/jira/browse/FLINK-16266 > Project: Flink > Issue Type: Bug > Components: Connectors / ElasticSearch >Affects Versions: 1.10.0 >Reporter: Benchao Li >Priority: Major > Labels: stale-major > > If we put {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7}} into {{/lib}} at the same time, and > use it in {{sql-client}}, will get exceptions like: > > {code:java} > [ERROR] Could not execute SQL statement. Reason: > java.lang.AbstractMethodError: > org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchUpsertTableSinkFactoryBase.createElasticsearchUpsertTableSink(ZLorg/apache/flink/table/api/TableSchema;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/flink/api/common/serialization/SerializationSchema;Lorg/apache/flink/elasticsearch6/shaded/org/elasticsearch/common/xcontent/XContentType;Lorg/apache/flink/streaming/connectors/elasticsearch/ActionRequestFailureHandler;Ljava/util/Map;)Lorg/apache/flink/streaming/connectors/elasticsearch/ElasticsearchUpsertTableSinkBase; > {code} > > After analyzing the exceptions, IMO, it's because > {{flink-connector-elasticsearch-base}} is included into both > {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7. And > }}{{flink-connector-elasticsearch-base}}{{ has different implementation in 6 > & 7, because the version of elastic-search is different.}} > > {{A simple way for fixing this is we can relocate > }}{{flink-connector-elasticsearch-base in > }}{{flink-sql-connector-elasticsearch6}}{{ and > }}{{flink-sql-connector-elasticsearch7. For example for > }}{{flink-sql-connector-elasticsearch7:}} > {code:java} > >org.apache.flink.streaming.connectors.elasticsearch. > > org.apache.flink.streaming.connectors.elasticsearch7.base. > > {code} > {{cc [~jark] [~twalthr] }} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (FLINK-16266) es6 & 7 table sql connector conflicts each other
[ https://issues.apache.org/jira/browse/FLINK-16266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17044043#comment-17044043 ] Jeff Zhang commented on FLINK-16266: AFAIK plugin mechanism is not ready for connectors. Someone others may know more details. > es6 & 7 table sql connector conflicts each other > > > Key: FLINK-16266 > URL: https://issues.apache.org/jira/browse/FLINK-16266 > Project: Flink > Issue Type: Bug > Components: Connectors / ElasticSearch >Affects Versions: 1.10.0 >Reporter: Benchao Li >Priority: Major > > If we put {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7}} into {{/lib}} at the same time, and > use it in {{sql-client}}, will get exceptions like: > > {code:java} > [ERROR] Could not execute SQL statement. Reason: > java.lang.AbstractMethodError: > org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchUpsertTableSinkFactoryBase.createElasticsearchUpsertTableSink(ZLorg/apache/flink/table/api/TableSchema;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/flink/api/common/serialization/SerializationSchema;Lorg/apache/flink/elasticsearch6/shaded/org/elasticsearch/common/xcontent/XContentType;Lorg/apache/flink/streaming/connectors/elasticsearch/ActionRequestFailureHandler;Ljava/util/Map;)Lorg/apache/flink/streaming/connectors/elasticsearch/ElasticsearchUpsertTableSinkBase; > {code} > > After analyzing the exceptions, IMO, it's because > {{flink-connector-elasticsearch-base}} is included into both > {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7. And > }}{{flink-connector-elasticsearch-base}}{{ has different implementation in 6 > & 7, because the version of elastic-search is different.}} > > {{A simple way for fixing this is we can relocate > }}{{flink-connector-elasticsearch-base in > }}{{flink-sql-connector-elasticsearch6}}{{ and > }}{{flink-sql-connector-elasticsearch7. For example for > }}{{flink-sql-connector-elasticsearch7:}} > {code:java} > >org.apache.flink.streaming.connectors.elasticsearch. > > org.apache.flink.streaming.connectors.elasticsearch7.base. > > {code} > {{cc [~jark] [~twalthr] }} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (FLINK-16266) es6 & 7 table sql connector conflicts each other
[ https://issues.apache.org/jira/browse/FLINK-16266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17044029#comment-17044029 ] Benchao Li commented on FLINK-16266: [~zjffdu] Thanks for your advise. Let me clarify the description, why I put them into {{/lib}} is that I want to reproduce the issue easily. Actually, we encountered this issue in our production environment, users need them both in the same job. I'll look into plugin mechanism as you advised, thanks. > es6 & 7 table sql connector conflicts each other > > > Key: FLINK-16266 > URL: https://issues.apache.org/jira/browse/FLINK-16266 > Project: Flink > Issue Type: Bug > Components: Connectors / ElasticSearch >Affects Versions: 1.10.0 >Reporter: Benchao Li >Priority: Major > > If we put {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7}} into {{/lib}} at the same time, and > use it in {{sql-client}}, will get exceptions like: > > {code:java} > [ERROR] Could not execute SQL statement. Reason: > java.lang.AbstractMethodError: > org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchUpsertTableSinkFactoryBase.createElasticsearchUpsertTableSink(ZLorg/apache/flink/table/api/TableSchema;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/flink/api/common/serialization/SerializationSchema;Lorg/apache/flink/elasticsearch6/shaded/org/elasticsearch/common/xcontent/XContentType;Lorg/apache/flink/streaming/connectors/elasticsearch/ActionRequestFailureHandler;Ljava/util/Map;)Lorg/apache/flink/streaming/connectors/elasticsearch/ElasticsearchUpsertTableSinkBase; > {code} > > After analyzing the exceptions, IMO, it's because > {{flink-connector-elasticsearch-base}} is included into both > {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7. And > }}{{flink-connector-elasticsearch-base}}{{ has different implementation in 6 > & 7, because the version of elastic-search is different.}} > > {{A simple way for fixing this is we can relocate > }}{{flink-connector-elasticsearch-base in > }}{{flink-sql-connector-elasticsearch6}}{{ and > }}{{flink-sql-connector-elasticsearch7. For example for > }}{{flink-sql-connector-elasticsearch7:}} > {code:java} > >org.apache.flink.streaming.connectors.elasticsearch. > > org.apache.flink.streaming.connectors.elasticsearch7.base. > > {code} > {{cc [~jark] [~twalthr] }} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (FLINK-16266) es6 & 7 table sql connector conflicts each other
[ https://issues.apache.org/jira/browse/FLINK-16266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17044016#comment-17044016 ] Jeff Zhang commented on FLINK-16266: BTW, IMHO I don't think it is best practice to put connector jars under lib. Because most of time FLINK_HOME is shared by multiples users/applications. Putting third party jars under lib would affect other flink applications > es6 & 7 table sql connector conflicts each other > > > Key: FLINK-16266 > URL: https://issues.apache.org/jira/browse/FLINK-16266 > Project: Flink > Issue Type: Bug > Components: Connectors / ElasticSearch >Affects Versions: 1.10.0 >Reporter: Benchao Li >Priority: Major > > If we put {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7}} into {{/lib}} at the same time, and > use it in {{sql-client}}, will get exceptions like: > > {code:java} > [ERROR] Could not execute SQL statement. Reason: > java.lang.AbstractMethodError: > org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchUpsertTableSinkFactoryBase.createElasticsearchUpsertTableSink(ZLorg/apache/flink/table/api/TableSchema;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/flink/api/common/serialization/SerializationSchema;Lorg/apache/flink/elasticsearch6/shaded/org/elasticsearch/common/xcontent/XContentType;Lorg/apache/flink/streaming/connectors/elasticsearch/ActionRequestFailureHandler;Ljava/util/Map;)Lorg/apache/flink/streaming/connectors/elasticsearch/ElasticsearchUpsertTableSinkBase; > {code} > > After analyzing the exceptions, IMO, it's because > {{flink-connector-elasticsearch-base}} is included into both > {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7. And > }}{{flink-connector-elasticsearch-base}}{{ has different implementation in 6 > & 7, because the version of elastic-search is different.}} > > {{A simple way for fixing this is we can relocate > }}{{flink-connector-elasticsearch-base in > }}{{flink-sql-connector-elasticsearch6}}{{ and > }}{{flink-sql-connector-elasticsearch7. For example for > }}{{flink-sql-connector-elasticsearch7:}} > {code:java} > >org.apache.flink.streaming.connectors.elasticsearch. > > org.apache.flink.streaming.connectors.elasticsearch7.base. > > {code} > {{cc [~jark] [~twalthr] }} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (FLINK-16266) es6 & 7 table sql connector conflicts each other
[ https://issues.apache.org/jira/browse/FLINK-16266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17044013#comment-17044013 ] Jeff Zhang commented on FLINK-16266: I believe this could be resolved via plugin mechanism. > es6 & 7 table sql connector conflicts each other > > > Key: FLINK-16266 > URL: https://issues.apache.org/jira/browse/FLINK-16266 > Project: Flink > Issue Type: Bug > Components: Connectors / ElasticSearch >Affects Versions: 1.10.0 >Reporter: Benchao Li >Priority: Major > > If we put {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7}} into {{/lib}} at the same time, and > use it in {{sql-client}}, will get exceptions like: > > {code:java} > [ERROR] Could not execute SQL statement. Reason: > java.lang.AbstractMethodError: > org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchUpsertTableSinkFactoryBase.createElasticsearchUpsertTableSink(ZLorg/apache/flink/table/api/TableSchema;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/flink/api/common/serialization/SerializationSchema;Lorg/apache/flink/elasticsearch6/shaded/org/elasticsearch/common/xcontent/XContentType;Lorg/apache/flink/streaming/connectors/elasticsearch/ActionRequestFailureHandler;Ljava/util/Map;)Lorg/apache/flink/streaming/connectors/elasticsearch/ElasticsearchUpsertTableSinkBase; > {code} > > After analyzing the exceptions, IMO, it's because > {{flink-connector-elasticsearch-base}} is included into both > {{flink-sql-connector-elasticsearch6}} and > {{flink-sql-connector-elasticsearch7. And > }}{{flink-connector-elasticsearch-base}}{{ has different implementation in 6 > & 7, because the version of elastic-search is different.}} > > {{A simple way for fixing this is we can relocate > }}{{flink-connector-elasticsearch-base in > }}{{flink-sql-connector-elasticsearch6}}{{ and > }}{{flink-sql-connector-elasticsearch7. For example for > }}{{flink-sql-connector-elasticsearch7:}} > {code:java} > >org.apache.flink.streaming.connectors.elasticsearch. > > org.apache.flink.streaming.connectors.elasticsearch7.base. > > {code} > {{cc [~jark] [~twalthr] }} -- This message was sent by Atlassian Jira (v8.3.4#803005)