Jason Kania created FLINK-33111:
-----------------------------------

             Summary: Flink Pulsar Connector to Pulsar Client Version Mismatch
                 Key: FLINK-33111
                 URL: https://issues.apache.org/jira/browse/FLINK-33111
             Project: Flink
          Issue Type: Bug
          Components: Connectors / Pulsar
    Affects Versions: 1.17.1
            Reporter: Jason Kania


In the documentation for the Flink Pulsar Connector, 
(https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/connectors/datastream/pulsar/)
 it indicates that 2.10.0 and above versions of the pulsar client are supported 
"You can use the connector with the Pulsar 2.10.0 or higher" and the pom file 
entry references the 4.0.0-1.17 version of the connector which points to the 
2.11.0 version of the Pulsar client. However, when using Pulsar Client 2.10.4 
or 2.10.5, the following error is generated:
 
java.lang.NoSuchMethodError: 'org.apache.pulsar.client.api.ClientBuilder 
org.apache.pulsar.client.api.ClientBuilder.connectionMaxIdleSeconds(int)'
    at 
org.apache.flink.connector.pulsar.common.config.PulsarClientFactory.createClient(PulsarClientFactory.java:127)
    at 
org.apache.flink.connector.pulsar.source.reader.PulsarSourceReader.create(PulsarSourceReader.java:266)
    at 
org.apache.flink.connector.pulsar.source.PulsarSource.createReader(PulsarSource.java:137)
    at 
org.apache.flink.streaming.api.operators.SourceOperator.initReader(SourceOperator.java:312)
    at 
org.apache.flink.streaming.runtime.tasks.SourceOperatorStreamTask.init(SourceOperatorStreamTask.java:93)
    at 
org.apache.flink.streaming.runtime.tasks.StreamTask.restoreInternal(StreamTask.java:699)
    at 
org.apache.flink.streaming.runtime.tasks.StreamTask.restore(StreamTask.java:675)
    at 
org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:952)
    at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:921)
    at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:745)
    at org.apache.flink.runtime.taskmanager.Task.run(Task.java:562)
    at java.base/java.lang.Thread.run(Thread.java:829)
 
The referenced method 'connectionMaxIdleSeconds' is only available in the 
Pulsar 2.11 client when looking at the source code. I am not sure whether the 
documentation is wrong and the Flink Pulsar Connector 2.11 is the intended 
Pulsar version. However, my understanding is that Pulsar 2.11 is targeted 
toward java 17. In the maven repository and would create the need for mixed 
Java 11 and Java 17 deployment.
 
Documentation cleanup and a reference to the appropriate Java versions is 
needed. A fix to the 1.17.1 Flink pulsar connector may alternatively be 
required.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to