-
Bug
-
Resolution: Not a Bug
-
Major
-
None
-
None
-
None
Happens when I start a new connector listening to postgres, then creates a new schema in postgres. Connector is killed until I restart it (like exception message says).
This is after pulling newest final version 1.0.1.Final, worked fine with 1.0.0.Final
After additional testing: Doesnt work with any of the new postgres images under debezium/postgres on docker, pushed 5 days ago. Works as normal with older image tags like 10-dev.
My configuration is:
{ "name": "postgres-connector", "config": { "connector.class": "io.debezium.connector.postgresql.PostgresConnector", "tasks.max": "1", "database.hostname": "postgres", "database.port": "5432", "database.user": "manager", "database.password": "manager", "database.dbname": "m_db", "database.server.name": "content", "schema.blacklist": "public", "transforms": "changeTopic", "transforms.changeTopic.type": "org.apache.kafka.connect.transforms.RegexRouter", "transforms.changeTopic.regex": ".*", "transforms.changeTopic.replacement": "m_db_changes" } }
Error message:
2020-02-12 11:52:19,445 ERROR Postgres|content|postgres-connector-task Producer failure [io.debezium.pipeline.ErrorHandler] java.lang.IllegalArgumentException: Invalid identifier: at io.debezium.relational.TableIdParser$TableIdTokenizer.tokenize(TableIdParser.java:68) at io.debezium.text.TokenStream.start(TokenStream.java:447) at io.debezium.relational.TableIdParser.parse(TableIdParser.java:28) at io.debezium.relational.TableId.parse(TableId.java:39) at io.debezium.connector.postgresql.PostgresSchema.parse(PostgresSchema.java:236) at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.lambda$execute$0(PostgresStreamingChangeEventSource.java:133) at io.debezium.connector.postgresql.connection.pgproto.PgProtoMessageDecoder.processMessage(PgProtoMessageDecoder.java:53) at io.debezium.connector.postgresql.connection.PostgresReplicationConnection$1.deserializeMessages(PostgresReplicationConnection.java:412) at io.debezium.connector.postgresql.connection.PostgresReplicationConnection$1.readPending(PostgresReplicationConnection.java:406) at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:119) at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:99) 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) 2020-02-12 11:52:19,464 ERROR Postgres|content|postgres-connector-task Interrupted while stopping [io.debezium.connector.postgresql.PostgresConnectorTask] java.lang.InterruptedException at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109) at java.base/java.util.concurrent.ThreadPoolExecutor.awaitTermination(ThreadPoolExecutor.java:1454) at java.base/java.util.concurrent.Executors$DelegatedExecutorService.awaitTermination(Executors.java:709) at io.debezium.pipeline.ErrorHandler.stop(ErrorHandler.java:52) at io.debezium.connector.postgresql.PostgresConnectorTask.cleanupResources(PostgresConnectorTask.java:258) at io.debezium.pipeline.ErrorHandler.lambda$setProducerThrowable$0(ErrorHandler.java:42) 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) 2020-02-12 11:52:19,896 ERROR || WorkerSourceTask{id=postgres-connector-0} Task threw an uncaught and unrecoverable exception [org.apache.kafka.connect.runtime.WorkerTask] org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped. at io.debezium.connector.base.ChangeEventQueue.throwProducerFailureIfPresent(ChangeEventQueue.java:171) at io.debezium.connector.base.ChangeEventQueue.poll(ChangeEventQueue.java:151) at io.debezium.connector.postgresql.PostgresConnectorTask.poll(PostgresConnectorTask.java:221) at org.apache.kafka.connect.runtime.WorkerSourceTask.poll(WorkerSourceTask.java:265) at org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:232) 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: java.lang.IllegalArgumentException: Invalid identifier: at io.debezium.relational.TableIdParser$TableIdTokenizer.tokenize(TableIdParser.java:68) at io.debezium.text.TokenStream.start(TokenStream.java:447) at io.debezium.relational.TableIdParser.parse(TableIdParser.java:28) at io.debezium.relational.TableId.parse(TableId.java:39) at io.debezium.connector.postgresql.PostgresSchema.parse(PostgresSchema.java:236) at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.lambda$execute$0(PostgresStreamingChangeEventSource.java:133) at io.debezium.connector.postgresql.connection.pgproto.PgProtoMessageDecoder.processMessage(PgProtoMessageDecoder.java:53) at io.debezium.connector.postgresql.connection.PostgresReplicationConnection$1.deserializeMessages(PostgresReplicationConnection.java:412) at io.debezium.connector.postgresql.connection.PostgresReplicationConnection$1.readPending(PostgresReplicationConnection.java:406) at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:119) at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:99) ... 5 more 2020-02-12 11:52:19,897 ERROR || WorkerSourceTask{id=postgres-connector-0} Task is being killed and will not recover until manually restarted [org.apache.kafka.connect.runtime.WorkerTask]