ОШИБКА Debezium postgres: параметр include-unchanged-toast устарел

В настоящий момент я провожу нагрузочный тест на коннекторе Debezium postgres, чтобы узнать, может ли он поддерживать очень большие объемы (с точки зрения миллиардов) журналов изменений в Aurora Postgres. Когда я вставляю 1 миллион записей в таблицу postgres, коннектор Debezium Postgres не работает со следующими сообщениями об ошибках:

org.apache.kafka.connect.errors.ConnectException: An exception ocurred in the change event producer. This connector will be stopped.
    at io.debezium.connector.base.ChangeEventQueue.throwProducerFailureIfPresent(ChangeEventQueue.java:170)
    at io.debezium.connector.base.ChangeEventQueue.poll(ChangeEventQueue.java:151)
    at io.debezium.connector.postgresql.PostgresConnectorTask.poll(PostgresConnectorTask.java:188)
    at org.apache.kafka.connect.runtime.WorkerSourceTask.poll(WorkerSourceTask.java:259)
    at org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:226)
    at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:177)
    at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:227)
    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:834)

Caused by: org.postgresql.util.PSQLException: ERROR: parameter "include-unchanged-toast" was deprecated
  Where: slot "wal2json_dbz5", output plugin "wal2json", in the startup callback

    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)
    at org.postgresql.core.v3.QueryExecutorImpl.processCopyResults(QueryExecutorImpl.java:1116)
    at org.postgresql.core.v3.QueryExecutorImpl.readFromCopy(QueryExecutorImpl.java:1035)
    at org.postgresql.core.v3.CopyDualImpl.readFromCopy(CopyDualImpl.java:41)
    at org.postgresql.core.v3.replication.V3PGReplicationStream.receiveNextData(V3PGReplicationStream.java:155)
    at org.postgresql.core.v3.replication.V3PGReplicationStream.readInternal(V3PGReplicationStream.java:124)
    at org.postgresql.core.v3.replication.V3PGReplicationStream.readPending(V3PGReplicationStream.java:78)
    at io.debezium.connector.postgresql.connection.PostgresReplicationConnection$1.readPending(PostgresReplicationConnection.java:401)
    at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:94)
    at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:91)

Похоже, что коннектор больше не поддерживает include-unchanged-toast. Есть ли способ решить эту проблему?


person raja    schedule 11.10.2019    source источник


Ответы (1)


Вы можете либо исправить Debrezium, либо использовать старую версию wal2json до того, как была удалена / а>.

Снимок GIT wal2json, сделанный непосредственно перед тем, как параметр был удален, находится здесь.

Однако учтите, что эта опция была удалена по уважительной причине.

person Laurenz Albe    schedule 11.10.2019
comment
Это больше не должно быть проблемой для Debezium 0.10.0.Final. Пользователь должен просто обновить эту версию до минимума, и все будет в порядке. - person Naros; 11.10.2019
comment
Мы используем Debezium 0.10.0, но проблема не устранена @Naros - person raja; 14.10.2019
comment
Судя по трассировке стека, скорее всего, это 0.10.0.CR2, а не 0.10.0.Final. Но в любом случае исправление для этого было добавлено до этого, так что технически это не имеет значения. Если у вас все еще возникает проблема, я бы открыла проблему со всеми относящимися к делу подробностями, и мы сможем ее рассмотреть. - person Naros; 16.10.2019
comment
@raja Проблема была решена или есть ссылка на какой-либо тикет после этой проблемы? - person Debi; 02.01.2020