-
Bug
-
Resolution: Done
-
Major
-
None
-
None
After some time after starting debezium, the connector raises the following exception.
See also here(link is zulipchat.).
Bug report
Connector log is:
[2023-04-18 11:03:43,411] INFO [dbz-source-public|task-0] Seeking to LSN{8/E2A84298} on the replication slot with command SELECT pg_replication_slot_advance('dbz_connector', '8/E2A84298') (io.debezium.connector.postgresql.connection.PostgresReplicationConnection:364) [2023-04-18 11:03:43,412] ERROR [dbz-source-public|task-0] Producer failure (io.debezium.pipeline.ErrorHandler:38) io.debezium.DebeziumException: org.postgresql.util.PSQLException: ERROR: 関数pg_replication_slot_advance(unknown, unknown)は存在しません ヒント: 指定した名前と引数型に合致する関数がありません。明示的な型変換が必要かもしれません。 位置: 8 at io.debezium.connector.postgresql.connection.PostgresReplicationConnection.validateSlotIsInExpectedState(PostgresReplicationConnection.java:380) at io.debezium.connector.postgresql.connection.PostgresReplicationConnection.startStreaming(PostgresReplicationConnection.java:328) at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:137) at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:41) at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:174) at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:141) at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:109) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: org.postgresql.util.PSQLException: ERROR: 関数pg_replication_slot_advance(unknown, unknown)は存在しません ヒント: 指定した名前と引数型に合致する関数がありません。明示的な型変換が必要かもしれません。 位置: 8 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2676) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2366) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:356) at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:496) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:413) at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:333) at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:319) at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:295) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:290) at io.debezium.connector.postgresql.connection.PostgresReplicationConnection.validateSlotIsInExpectedState(PostgresReplicationConnection.java:365) ... 11 more
PostgreSQL log is:
2023-04-18 10:34:55.966 JST [98518] 文: SELECT pg_replication_slot_advance('dbz_connector', '8/E2A3D6A8') 2023-04-18 10:37:30.939 JST [98543] ERROR: 関数pg_replication_slot_advance(unknown, unknown)は存在しません(文字位置 8)
What Debezium connector do you use and what version?
2.1.1.Final
What is the connector configuration?
{ "connector.class": "io.debezium.connector.postgresql.PostgresConnector", "database.user": <PG_USERNAME>, "database.dbname": <PG_DBNAME>, "transforms.RerouteTopic.topic.expression": <SCRIPT_CODE>, "slot.name": "dbz_connector", "tasks.max": "1", "transforms": "unwrap,RerouteTopic", "transforms.RerouteTopic.topic.regex": <TABLE_NAME_REGEX>, "database.port": "5432", "plugin.name": "pgoutput", "transforms.RerouteTopic.language": "jsr223.groovy", "transforms.RerouteTopic.type": "io.debezium.transforms.ContentBasedRouter", "topic.prefix": "pg01", "database.hostname": <PG_HOSTNAME>, "database.password": <PG_PASSWORD>, "transforms.unwrap.drop.tombstones": "true", "name": "dbz-source-public", "transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState", "snapshot.mode": "always" }
What is the captured database version and mode of depoyment?
(E.g. on-premises, with a specific cloud provider, etc.)
- on-premises
What behaviour do you expect?
- Message level in the Connector log output when an error occurs is WARN or INFO.
What behaviour do you see?
- The message level of the Connector log output when an error occurs is ERROR.
- Error messages are output to the log on the PostgreSQL side.
Do you see the same behaviour using the latest relesead Debezium version?
(Ideally, also verify with latest Alpha/Beta/CR version)
- I do not have an answer to this question.
Do you have the connector logs, ideally from start till finish?
(You might be asked later to provide DEBUG/TRACE level log)
- No.
How to reproduce the issue using our tutorial deployment?
- I do not have an answer to this question.
Feature request or enhancement
For feature requests or enhancements, provide this information, please:
Which use case/requirement will be addressed by the proposed feature?
- I do not have an answer to this question.
Implementation ideas (optional)
- I do not have an answer to this question.
- links to
-
RHEA-2023:120698 Red Hat build of Debezium 2.3.4 release