Отслеживание аномальной транзакции на основе LSN на Postgresql - PullRequest
0 голосов
/ 13 июля 2020

У меня проблема с разъемом Debezium kafka для PostgreSQL. Это показывает, что у меня есть запись, размер которой превышает 1 ГБ. Вот полная ошибка:

"org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped.
tat io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42)
tat io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:197)
tat io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:101)
tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
tat java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.postgresql.util.PSQLException: ERROR: out of memory
 Detail: Cannot enlarge string buffer containing 1073741385 bytes by 2500 more bytes.
 Where: slot "debezium", output plugin "wal2json", in the change callback, associated LSN 3D/66648BE8
tat org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2505)
tat org.postgresql.core.v3.QueryExecutorImpl.processCopyResults(QueryExecutorImpl.java:1165)
tat org.postgresql.core.v3.QueryExecutorImpl.readFromCopy(QueryExecutorImpl.java:1072)
tat org.postgresql.core.v3.CopyDualImpl.readFromCopy(CopyDualImpl.java:37)
tat org.postgresql.core.v3.replication.V3PGReplicationStream.receiveNextData(V3PGReplicationStream.java:158)
tat org.postgresql.core.v3.replication.V3PGReplicationStream.readInternal(V3PGReplicationStream.java:123)
tat org.postgresql.core.v3.replication.V3PGReplicationStream.readPending(V3PGReplicationStream.java:80)
tat io.debezium.connector.postgresql.connection.PostgresReplicationConnection$1.readPending(PostgresReplicationConnection.java:402)
tat io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:125)
t... 6 more"

Я хочу проследить, где находится операция «Аномалия», которая вызывает эту ошибку. У меня только номер LSN от ошибки. Я все еще новичок в обслуживании базы данных, особенно PostgreSQL. Любая помощь приветствуется.

ОБНОВЛЕНИЕ Это то же самое сообщение, которое я получил от pg_log, благодаря @ laurenz-albe, чтобы указать, где я должен искать проблему:

2020-07-08 13:59:13 ICT [25137-23] kafka@aaa ERROR:  out of memory
2020-07-08 13:59:13 ICT [25137-24] kafka@aaa DETAIL:  Cannot enlarge string buffer containing 1073741385 bytes by 2500 more bytes.
2020-07-08 13:59:13 ICT [25137-25] kafka@aaa CONTEXT:  slot "debezium", output plugin "wal2json", in the change callback, associated LSN 3D/66648BE8

Но все равно ничего не известно, если я не могу понять, что происходит в данный момент с этим номером LSN, который вызывает инцидент

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...