[ 
https://issues.apache.org/jira/browse/FLINK-33111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Kania updated FLINK-33111:
--------------------------------
    Description: 
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. This would create the need for mixed Java 11 and Java 17 
deployment unless the Pulsar client code is compiled for 2.11.
 
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.

  was:
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.


> 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
>            Priority: Major
>
> 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. This would create the need for mixed Java 11 and Java 17 
> deployment unless the Pulsar client code is compiled for 2.11.
>  
> 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