-
Bug
-
Resolution: Done
-
Major
-
2.7.1.Final
-
None
Here's the related discussion where ccranfor@redhat.com identified the bug from the logs we provided (also copied below):
Bug report
For bug reports, provide this information, please:
What Debezium connector do you use and what version?
2.7.1.Final
What is the connector configuration?
2024-08-13T19:29:36,750pool-2-thread-165INFOi.a.c.i.d.i.DebeziumRecordPublisher(start$lambda$1):63 - Unable to initialize and start connector's task class 'io.debezium.connector.mysql.MySqlConnectorTask' with config: {snapshot.locking.mode=none, connector.class=io.debezium.connector.mysql.MySqlConnector, max.queue.size=8192, include.schema.changes=false, schema.history.internal.store.only.captured.databases.ddl=true, schema.history.internal.file.filename=/tmp/cdc-db-history15112355764930600659/dbhistory.dat, value.converter.replace.null.with.default=false, topic.prefix=db_syozdhyosw, binary.handling.mode=base64, offset.storage.file.filename=/tmp/cdc-state-offset16363759589839396518/offset.dat, decimal.handling.mode=string, converters=boolean, datetime, errors.retry.delay.initial.ms=299, datetime.type=io.airbyte.integrations.source.mysql.cdc.MySQLDateTimeConverter, value.converter=org.apache.kafka.connect.json.JsonConverter, key.converter=org.apache.kafka.connect.json.JsonConverter, database.user=user_syozdhyosw, database.dbname=db_syozdhyosw, offset.storage=org.apache.kafka.connect.storage.FileOffsetBackingStore, database.server.id=5727, max.queue.size.in.bytes=268435456, boolean.type=io.airbyte.integrations.source.mysql.cdc.CustomMySQLTinyIntOneToBooleanConverter, errors.retry.delay.max.ms=300, offset.flush.timeout.ms=5000, heartbeat.interval.ms=1000, column.include.list=, database.port=62348, offset.flush.interval.ms=1000, key.converter.schemas.enable=false, database.ssl.mode=DISABLED, schema.history.internal=io.debezium.storage.file.history.FileSchemaHistory, errors.max.retries=0, database.connectionTimeZone=America/Los_Angeles, database.hostname=localhost, database.password={}{}**, value.converter.schemas.enable=false, name=db_syozdhyosw, max.batch.size=2048, table.include.list=, snapshot.mode=schema_only_recovery, database.include.list=db_syozdhyosw}
What is the captured database version and mode of deployment?
(E.g. on-premises, with a specific cloud provider, etc.)
<Your answer>
What behavior do you expect?
After upgrading to 2.7.1 from 2.6, we started seeing the following failure:
Do you have the connector logs, ideally from start till finish?
(You might be asked later to provide DEBUG/TRACE level log)
Suppressed: java.lang.RuntimeException: io.debezium.DebeziumException: Unable to create service io.debezium.snapshot.SnapshotterService at io.airbyte.cdk.integrations.debezium.internals.DebeziumRecordPublisher.close(DebeziumRecordPublisher.kt:124) at io.airbyte.integrations.source.mysql.cdc.MySqlDebeziumStateUtil.constructInitialDebeziumState(MySqlDebeziumStateUtil.java:254) ... 68 more Caused by: io.debezium.DebeziumException: Unable to create service io.debezium.snapshot.SnapshotterService at io.debezium.service.DefaultServiceRegistry.createService(DefaultServiceRegistry.java:231) at io.debezium.service.DefaultServiceRegistry.initializeService(DefaultServiceRegistry.java:204) at io.debezium.service.DefaultServiceRegistry.getService(DefaultServiceRegistry.java:79) at io.debezium.service.spi.ServiceRegistry.tryGetService(ServiceRegistry.java:40) at io.debezium.connector.mysql.MySqlConnectorTask.start(MySqlConnectorTask.java:113) at io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:248) at io.debezium.embedded.EmbeddedEngine.startSourceTask(EmbeddedEngine.java:649) at io.debezium.embedded.EmbeddedEngine.run(EmbeddedEngine.java:452) at io.debezium.embedded.ConvertingEngineBuilder$1.run(ConvertingEngineBuilder.java:163) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: io.debezium.DebeziumException: Unable to find schema_only_recovery snapshotter. Please check your configuration. at io.debezium.snapshot.SnapshotterServiceProvider.createService(SnapshotterServiceProvider.java:54) at io.debezium.snapshot.SnapshotterServiceProvider.createService(SnapshotterServiceProvider.java:30) at io.debezium.service.DefaultServiceRegistry.createService(DefaultServiceRegistry.java:115) at io.debezium.service.DefaultServiceRegistry.createService(DefaultServiceRegistry.java:224) ... 11 more
2024-08-13T19:29:36,665`pool-2-thread-1`65`INFO`o.a.k.c.s.FileOffsetBackingStore(start):63 - Starting FileOffsetBackingStore with file /tmp/cdc-state-offset16363759589839396518/offset.dat 2024-08-13T19:29:36,670`pool-2-thread-1`65`INFO`i.a.c.i.d.i.DebeziumRecordPublisher$start$3(connectorStarted):79 - DebeziumEngine notify: connector started 2024-08-13T19:29:36,675`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(start):242 - Starting MySqlConnectorTask with configuration: 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - connector.class = io.debezium.connector.mysql.MySqlConnector 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - snapshot.locking.mode = none 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - max.queue.size = 8192 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - include.schema.changes = false 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - schema.history.internal.store.only.captured.databases.ddl = true 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - schema.history.internal.file.filename = /tmp/cdc-db-history15112355764930600659/dbhistory.dat 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - value.converter.replace.null.with.default = false 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - topic.prefix = db_syozdhyosw 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - binary.handling.mode = base64 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - offset.storage.file.filename = /tmp/cdc-state-offset16363759589839396518/offset.dat 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - decimal.handling.mode = string 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - converters = boolean, datetime 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - errors.retry.delay.initial.ms = 299 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - datetime.type = io.airbyte.integrations.source.mysql.cdc.MySQLDateTimeConverter 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - value.converter = org.apache.kafka.connect.json.JsonConverter 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - key.converter = org.apache.kafka.connect.json.JsonConverter 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - database.user = user_syozdhyosw 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - database.dbname = db_syozdhyosw 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - offset.storage = org.apache.kafka.connect.storage.FileOffsetBackingStore 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - database.server.id = 5727 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - max.queue.size.in.bytes = 268435456 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - boolean.type = io.airbyte.integrations.source.mysql.cdc.CustomMySQLTinyIntOneToBooleanConverter 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - errors.retry.delay.max.ms = 300 2024-08-13T19:29:36,676`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - offset.flush.timeout.ms = 5000 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - heartbeat.interval.ms = 1000 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - column.include.list = 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - database.port = 62348 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - offset.flush.interval.ms = 1000 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - key.converter.schemas.enable = false 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - database.ssl.mode = DISABLED 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - schema.history.internal = io.debezium.storage.file.history.FileSchemaHistory 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - errors.max.retries = 0 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - database.connectionTimeZone = America/Los_Angeles 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - database.hostname = localhost 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - database.password = ******** 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - value.converter.schemas.enable = false 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - name = db_syozdhyosw 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - max.batch.size = 2048 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - table.include.list = 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - snapshot.mode = schema_only_recovery 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(lambda$start$0):244 - database.include.list = db_syozdhyosw 2024-08-13T19:29:36,677`pool-2-thread-1`65`INFO`i.d.c.CommonConnectorConfig(getSourceInfoStructMaker):1684 - Loading the custom source info struct maker plugin: io.debezium.connector.mysql.MySqlSourceInfoStructMaker 2024-08-13T19:29:36,678`pool-2-thread-1`65`INFO`i.d.c.CommonConnectorConfig(getTopicNamingStrategy):1388 - Loading the custom topic naming strategy plugin: io.debezium.schema.DefaultTopicNamingStrategy 2024-08-13T19:29:36,687`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(getPreviousOffsets):501 - Found previous partition offset BinlogPartition{serverName='db_syozdhyosw'} io.debezium.connector.mysql.MySqlPartition@2056030f: {file=binlog.000002, pos=7549} 2024-08-13T19:29:36,749`pool-2-thread-1`65`INFO`i.d.c.c.BaseSourceTask(stop):406 - Stopping down connector 2024-08-13T19:29:36,749`pool-4-thread-1`70`INFO`i.d.j.JdbcConnection(lambda$doClose$4):983 - Connection gracefully closed 2024-08-13T19:29:36,750`pool-2-thread-1`65`INFO`o.a.k.c.s.FileOffsetBackingStore(stop):71 - Stopped FileOffsetBackingStore 2024-08-13T19:29:36,750`pool-2-thread-1`65`INFO`i.a.c.i.d.i.DebeziumRecordPublisher$start$3(connectorStopped):83 - DebeziumEngine notify: connector stopped 2024-08-13T19:29:36,750`pool-2-thread-1`65`INFO`i.a.c.i.d.i.DebeziumRecordPublisher(start$lambda$1):60 - Debezium engine shutdown. Engine terminated successfully : false 2024-08-13T19:29:36,750`pool-2-thread-1`65`INFO`i.a.c.i.d.i.DebeziumRecordPublisher(start$lambda$1):63 - Unable to initialize and start connector's task class 'io.debezium.connector.mysql.MySqlConnectorTask' with config: {snapshot.locking.mode=none, connector.class=io.debezium.connector.mysql.MySqlConnector, max.queue.size=8192, include.schema.changes=false, schema.history.internal.store.only.captured.databases.ddl=true, schema.history.internal.file.filename=/tmp/cdc-db-history15112355764930600659/dbhistory.dat, value.converter.replace.null.with.default=false, topic.prefix=db_syozdhyosw, binary.handling.mode=base64, offset.storage.file.filename=/tmp/cdc-state-offset16363759589839396518/offset.dat, decimal.handling.mode=string, converters=boolean, datetime, errors.retry.delay.initial.ms=299, datetime.type=io.airbyte.integrations.source.mysql.cdc.MySQLDateTimeConverter, value.converter=org.apache.kafka.connect.json.JsonConverter, key.converter=org.apache.kafka.connect.json.JsonConverter, database.user=user_syozdhyosw, database.dbname=db_syozdhyosw, offset.storage=org.apache.kafka.connect.storage.FileOffsetBackingStore, database.server.id=5727, max.queue.size.in.bytes=268435456, boolean.type=io.airbyte.integrations.source.mysql.cdc.CustomMySQLTinyIntOneToBooleanConverter, errors.retry.delay.max.ms=300, offset.flush.timeout.ms=5000, heartbeat.interval.ms=1000, column.include.list=, database.port=62348, offset.flush.interval.ms=1000, key.converter.schemas.enable=false, database.ssl.mode=DISABLED, schema.history.internal=io.debezium.storage.file.history.FileSchemaHistory, errors.max.retries=0, database.connectionTimeZone=America/Los_Angeles, database.hostname=localhost, database.password=********, value.converter.schemas.enable=false, name=db_syozdhyosw, max.batch.size=2048, table.include.list=, snapshot.mode=schema_only_recovery, database.include.list=db_syozdhyosw}
- links to
-
RHEA-2024:139598 Red Hat build of Debezium 2.5.4 release