chendaping created FLINK-35063:
----------------------------------
Summary: Flink sql connector pulsar/hive
com.fasterxml.jackson.annotation.JsonFormat$Value conflict
Key: FLINK-35063
URL: https://issues.apache.org/jira/browse/FLINK-35063
Project: Flink
Issue Type: Bug
Components: Connectors / Hive, Connectors / Pulsar
Affects Versions: 1.16.1
Reporter: chendaping
When I compile and package {{flink-sql-connector-pulsar}} &
{{{}flink-sql-connector-hive{}}}, and then put these two jar files into the
Flink lib directory, I execute the following SQL statement through
{{{}bin/sql-client.sh{}}}:
{code:java}
// code placeholder
CREATE TABLE
pulsar_table (
content string,
proc_time AS PROCTIME ()
)
WITH
(
'connector' = 'pulsar',
'topics' = 'persistent://xxx',
'service-url' = 'pulsar://xxx',
'source.subscription-name' = 'xxx',
'source.start.message-id' = 'latest',
'format' = 'csv',
'pulsar.client.authPluginClassName' =
'org.apache.pulsar.client.impl.auth.AuthenticationToken',
'pulsar.client.authParams' = 'token:xxx'
);
select * from pulsar_table; {code}
The task error exception stack is as follows:
{code:java}
Caused by: java.lang.NoSuchMethodError:
com.fasterxml.jackson.annotation.JsonFormat$Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
at
org.apache.pulsar.shade.com.fasterxml.jackson.databind.cfg.MapperConfig.<clinit>(MapperConfig.java:56)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.pulsar.shade.com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:660)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.pulsar.shade.com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:576)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.pulsar.common.util.ObjectMapperFactory.createObjectMapperInstance(ObjectMapperFactory.java:151)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.pulsar.common.util.ObjectMapperFactory.<clinit>(ObjectMapperFactory.java:142)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.pulsar.client.impl.conf.ConfigurationDataUtils.create(ConfigurationDataUtils.java:35)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.pulsar.client.impl.conf.ConfigurationDataUtils.<clinit>(ConfigurationDataUtils.java:43)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.pulsar.client.impl.ClientBuilderImpl.loadConf(ClientBuilderImpl.java:77)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.flink.connector.pulsar.common.config.PulsarClientFactory.createClient(PulsarClientFactory.java:105)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.flink.connector.pulsar.source.enumerator.PulsarSourceEnumerator.<init>(PulsarSourceEnumerator.java:95)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.flink.connector.pulsar.source.enumerator.PulsarSourceEnumerator.<init>(PulsarSourceEnumerator.java:76)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.flink.connector.pulsar.source.PulsarSource.createEnumerator(PulsarSource.java:144)
~[flink-sql-connector-pulsar-4.0-SNAPSHOT.jar:4.0-SNAPSHOT] at
org.apache.flink.runtime.source.coordinator.SourceCoordinator.start(SourceCoordinator.java:213)
~[flink-dist_2.12-1.16.1.jar:1.16.1]
{code}
The exception shows a conflict with
{{{}com.fasterxml.jackson.annotation.JsonFormat$Value{}}}. I investigated and
found that {{flink-sql-connector-pulsar}} and {{flink-sql-connector-hive}}
depend on different versions, leading to this conflict.
{code:java}
// flink-sql-connector-pulsar pom.xml
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<type>pom</type>
<scope>import</scope>
<version>2.13.4.20221013</version>
</dependency>
// flink-sql-connector-hive pom.xml
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<type>pom</type>
<scope>import</scope>
<version>2.15.3</version>
</dependency>{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)