Details
-
Feature Request
-
Resolution: Unresolved
-
Major
-
1.4.2.Final, 1.5.4.Final, 1.6.2.Final, 1.7.0.Final
-
None
-
False
-
False
-
0
-
0%
Description
Debezium postgresql connector was configured as a source connector to capture data change events in postgresql, and here in our case postgresql was using AWS RDS PostgreSQL instance. Usually AWS RDS was configured automatic minor updates, so in our case, a normally working postgresql connector was stopped and can't be reconnected to postgresql after a minor update in RDS maintenance window. Besides of this, a
PSQLException was thrown, and the full exception stack can be found like this as below.
org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped. at io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42) at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:150) at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:140) at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:113) 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(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: io.debezium.DebeziumException: Could not execute heartbeat action (Error: 57P01) at io.debezium.connector.postgresql.PostgresConnectorTask.lambda$start$1(PostgresConnectorTask.java:171) at io.debezium.heartbeat.DatabaseHeartbeatImpl.forcedBeat(DatabaseHeartbeatImpl.java:56) at io.debezium.heartbeat.HeartbeatImpl.heartbeat(HeartbeatImpl.java:73) at io.debezium.heartbeat.DatabaseHeartbeatImpl.heartbeat(DatabaseHeartbeatImpl.java:24) at io.debezium.pipeline.EventDispatcher.dispatchHeartbeatEvent(EventDispatcher.java:297) at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.processMessages(PostgresStreamingChangeEventSource.java:245) at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:147) ... 7 more Caused by: org.postgresql.util.PSQLException: FATAL: terminating connection due to administrator command at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2532) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2267) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:312) at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:448) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:369) at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:310) at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:296) at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:273) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:268) at io.debezium.jdbc.JdbcConnection.lambda$execute$2(JdbcConnection.java:431) at io.debezium.jdbc.JdbcConnection.execute(JdbcConnection.java:448) at io.debezium.jdbc.JdbcConnection.execute(JdbcConnection.java:425) at io.debezium.heartbeat.DatabaseHeartbeatImpl.forcedBeat(DatabaseHeartbeatImpl.java:52) ... 12 more
EXPECT: Hope to add this exception as a retriable one so that it supports reconnection for this case.