从副本读取时数据库连接失败

Database connection failed when reading from copy

我正在使用 kafka 源连接器从 RDS Aurora Postgres 捕获 CDC。收到此错误。 如果有人知道这个问题,请提供帮助。

Caused by: org.postgresql.util.PSQLException: Database connection failed when reading from copy
    at org.postgresql.core.v3.QueryExecutorImpl.readFromCopy(QueryExecutorImpl.java:1074)
    at org.postgresql.core.v3.CopyDualImpl.readFromCopy(CopyDualImpl.java:37)
    at org.postgresql.core.v3.replication.V3PGReplicationStream.receiveNextData(V3PGReplicationStream.java:158)
    at org.postgresql.core.v3.replication.V3PGReplicationStream.readInternal(V3PGReplicationStream.java:123)
    at org.postgresql.core.v3.replication.V3PGReplicationStream.readPending(V3PGReplicationStream.java:80)
    at io.debezium.connector.postgresql.connection.PostgresReplicationConnection.readPending(PostgresReplicationConnection.java:397)
    at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:119)
    at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start[=10=](ChangeEventSourceCoordinator.java:99)
    ... 5 more 
Caused by: java.net.SocketException: Socket is closed
    at java.base/java.net.Socket.setSoTimeout(Socket.java:1155)
    at java.base/sun.security.ssl.BaseSSLSocketImpl.setSoTimeout(BaseSSLSocketImpl.java:639)
    at java.base/sun.security.ssl.SSLSocketImpl.setSoTimeout(SSLSocketImpl.java:73)
    at org.postgresql.core.PGStream.setNetworkTimeout(PGStream.java:589)
    at org.postgresql.core.PGStream.hasMessagePending(PGStream.java:139)
    at org.postgresql.core.v3.QueryExecutorImpl.processCopyResults(QueryExecutorImpl.java:1109)
    at org.postgresql.core.v3.QueryExecutorImpl.readFromCopy(QueryExecutorImpl.java:1072)
    ... 12 more

Debezium 1.1.0.CR1 已经在这些情况下处理自动重新连接 https://debezium.io/blog/2020/03/13/debezium-1-1-c1-released/

是的,Jiri Pechanec。实际上问题出在 debezium 版本上。如果连接因某些临时问题而丢失,旧版本不支持 Postgres 自动连接功能。现在新版本的 debezium (1.1.0) 支持自动连接功能。