[
https://issues.apache.org/jira/browse/FLINK-36713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17945618#comment-17945618
]
Hongshun Wang edited comment on FLINK-36713 at 4/18/25 7:23 AM:
----------------------------------------------------------------
[~morezaei00] , If you use flink-sql-connector-postgres-cdc which is a uber
jar, this problem will be solved. It will include debezium-connector-postgres
and replace files.
was (Author: JIRAUSER298968):
[~morezaei00] , If you useĀ flink-sql-connector-postgres-cdc which is a uber
jar, this problem will be solved. It will include debezium-connector-postgres.
> NoSuchMethodError: PostgresConnection with PostgresIncrementalSource at
> runtime
> -------------------------------------------------------------------------------
>
> Key: FLINK-36713
> URL: https://issues.apache.org/jira/browse/FLINK-36713
> Project: Flink
> Issue Type: Bug
> Components: Flink CDC
> Affects Versions: cdc-3.2.0
> Reporter: Mohsen Rezaei
> Priority: Critical
> Fix For: cdc-3.3.1
>
>
> Running into the following error while trying to read from Postgres with
> Flink CDC:
> {code:java}
> Caused by: java.lang.NoSuchMethodError: 'void
> io.debezium.connector.postgresql.connection.PostgresConnection.<init>(io.debezium.jdbc.JdbcConfiguration,
>
> io.debezium.connector.postgresql.connection.PostgresConnection$PostgresValueConverterBuilder,
> java.lang.String, io.debezium.jdbc.JdbcConnection$ConnectionFactory)'
> at
> org.apache.flink.cdc.connectors.postgres.source.PostgresDialect.openJdbcConnection(PostgresDialect.java:89)
> at
> org.apache.flink.cdc.connectors.postgres.source.PostgresDialect.discoverDataCollections(PostgresDialect.java:159)
> at
> org.apache.flink.cdc.connectors.postgres.source.PostgresDialect.discoverDataCollections(PostgresDialect.java:64)
> at
> org.apache.flink.cdc.connectors.postgres.source.PostgresSourceBuilder$PostgresIncrementalSource.createEnumerator(PostgresSourceBuilder.java:314)
> at
> org.apache.flink.cdc.connectors.postgres.source.PostgresSourceBuilder$PostgresIncrementalSource.createEnumerator(PostgresSourceBuilder.java:296)
> at
> org.apache.flink.runtime.source.coordinator.SourceCoordinator.start(SourceCoordinator.java:225)
> ... 34 common frames omitted
> {code}
> Reading through the code, it's documented that class containing the
> [{{PostgresConnection}}
> constructor|https://github.com/apache/flink-cdc/blob/d9ceee050bb1b6cf6bd8e2d285e22602a424d1c1/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-postgres-cdc/src/main/java/io/debezium/connector/postgresql/connection/PostgresConnection.java#L143]
> that the job is complaining about, [was copied from the same
> {{io.debezium.connector.postgresql.connection}}
> package|https://github.com/apache/flink-cdc/blob/d9ceee050bb1b6cf6bd8e2d285e22602a424d1c1/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-postgres-cdc/src/main/java/io/debezium/connector/postgresql/connection/PostgresConnection.java#L59]
> in the transitive dependency {{{}io.debezium:debezium-connector-postgres{}}}.
> This introduces an inconsistency at runtime depending on where the JARs end
> up in the JVM's classpath.
> What's the plan for resolving this issue and using a better practice to have
> a deterministic behavior at runtime?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)