最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

apache kafka connect - Debezium MongoDB: Recover after MongoDB is down - Stack Overflow

programmeradmin2浏览0评论

We're using Debezium MongoDB-connector with the outbox-router, which works very well. But when the database becomes unavailable, the connector fails without trying to recover.

Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted

2025-03-07 07:59:34,574 ERROR  MongoDB|dummy|task0  Error while attempting to Checking change stream: Timed out while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=REPLICA_SET, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.ConnectException: Connection refused}}]   [io.debezium.connector.mongodb.connection.MongoDbConnections]
com.mongodb.MongoTimeoutException: Timed out while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=REPLICA_SET, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.ConnectException: Connection refused}}]
    at com.mongodb.internal.connection.BaseCluster.logAndThrowTimeoutException(BaseCluster.java:427)
    at com.mongodb.internal.connection.BaseCluster.lambda$selectServer$0(BaseCluster.java:154)
    at com.mongodb.internal.time.Timeout.lambda$onExistsAndExpired$16(Timeout.java:236)
    at com.mongodb.internal.time.Timeout.lambda$run$10(Timeout.java:201)
    at com.mongodb.internal.time.TimePoint.checkedCall(TimePoint.java:98)
    at com.mongodb.internal.time.Timeout.call(Timeout.java:174)
    at com.mongodb.internal.time.Timeout.run(Timeout.java:194)
    at com.mongodb.internal.time.Timeout.onExistsAndExpired(Timeout.java:233)
    at com.mongodb.internal.time.Timeout.onExpired(Timeout.java:226)
    at com.mongodb.internal.connection.BaseCluster.selectServer(BaseCluster.java:153)
    at com.mongodb.internal.connection.AbstractMultiServerCluster.selectServer(AbstractMultiServerCluster.java:59)
    at com.mongodb.internal.binding.ClusterBinding.getReadConnectionSource(ClusterBinding.java:82)
    at com.mongodb.client.internal.ClientSessionBinding.getConnectionSource(ClientSessionBinding.java:108)
    at com.mongodb.client.internal.ClientSessionBinding.getReadConnectionSource(ClientSessionBinding.java:88)
    at com.mongodb.internal.operation.SyncOperationHelper.withSuppliedResource(SyncOperationHelper.java:148)
    at com.mongodb.internal.operation.SyncOperationHelper.withSourceAndConnection(SyncOperationHelper.java:129)
    at com.mongodb.internal.operation.SyncOperationHelper.lambda$executeRetryableRead$4(SyncOperationHelper.java:195)
    at com.mongodb.internal.operation.SyncOperationHelper.lambda$decorateReadWithRetries$13(SyncOperationHelper.java:317)
    at com.mongodb.internal.async.function.RetryingSyncSupplier.get(RetryingSyncSupplier.java:67)
    at com.mongodb.internal.operation.SyncOperationHelper.executeRetryableRead(SyncOperationHelper.java:201)
    at com.mongodb.internal.operation.SyncOperationHelper.executeRetryableRead(SyncOperationHelper.java:180)
    at com.mongodb.internal.operation.AggregateOperationImpl.execute(AggregateOperationImpl.java:190)
    at com.mongodb.internal.operation.ChangeStreamOperation.execute(ChangeStreamOperation.java:198)
    at com.mongodb.internal.operation.ChangeStreamOperation.execute(ChangeStreamOperation.java:54)
    at com.mongodb.client.internal.MongoClusterImpl$OperationExecutorImpl.execute(MongoClusterImpl.java:358)
    at com.mongodb.client.internal.ChangeStreamIterableImpl.execute(ChangeStreamIterableImpl.java:223)
    at com.mongodb.client.internal.ChangeStreamIterableImpl.cursor(ChangeStreamIterableImpl.java:193)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.lambda$isValidResumeToken$10(MongoDbConnection.java:219)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.execute(MongoDbConnection.java:105)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.isValidResumeToken(MongoDbConnection.java:215)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.validateLogPosition(MongoDbConnection.java:205)
    at io.debezium.connector.mongodb.MongoDbConnectorTask.validate(MongoDbConnectorTask.java:292)
    at io.debezium.connector.mongodb.MongoDbConnectorTask.start(MongoDbConnectorTask.java:137)
    at io.debezium.connectormon.BaseSourceTask.startIfNeededAndPossible(BaseSourceTask.java:403)
    at io.debezium.connectormon.BaseSourceTask.poll(BaseSourceTask.java:313)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.poll(AbstractWorkerSourceTask.java:466)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.execute(AbstractWorkerSourceTask.java:354)
    at .apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:226)
    at .apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:281)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.run(AbstractWorkerSourceTask.java:79)
    at .apache.kafka.connect.runtime.isolation.Plugins.lambda$withClassLoader$1(Plugins.java:238)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    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)
2025-03-07 07:59:34,575 ERROR  ||  WorkerSourceTask{id=mongo-connector-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted   [.apache.kafka.connect.runtime.WorkerTask]
io.debezium.DebeziumException: Error while attempting to Checking change stream
    at io.debezium.connector.mongodb.connection.MongoDbConnections.lambda$eventSourcingErrorHandler$1(MongoDbConnections.java:53)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.execute(MongoDbConnection.java:111)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.isValidResumeToken(MongoDbConnection.java:215)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.validateLogPosition(MongoDbConnection.java:205)
    at io.debezium.connector.mongodb.MongoDbConnectorTask.validate(MongoDbConnectorTask.java:292)
    at io.debezium.connector.mongodb.MongoDbConnectorTask.start(MongoDbConnectorTask.java:137)
    at io.debezium.connectormon.BaseSourceTask.startIfNeededAndPossible(BaseSourceTask.java:403)
    at io.debezium.connectormon.BaseSourceTask.poll(BaseSourceTask.java:313)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.poll(AbstractWorkerSourceTask.java:466)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.execute(AbstractWorkerSourceTask.java:354)
    at .apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:226)
    at .apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:281)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.run(AbstractWorkerSourceTask.java:79)
    at .apache.kafka.connect.runtime.isolation.Plugins.lambda$withClassLoader$1(Plugins.java:238)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    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: com.mongodb.MongoTimeoutException: Timed out while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=REPLICA_SET, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.ConnectException: Connection refused}}]
    at com.mongodb.internal.connection.BaseCluster.logAndThrowTimeoutException(BaseCluster.java:427)
    at com.mongodb.internal.connection.BaseCluster.lambda$selectServer$0(BaseCluster.java:154)
    at com.mongodb.internal.time.Timeout.lambda$onExistsAndExpired$16(Timeout.java:236)
    at com.mongodb.internal.time.Timeout.lambda$run$10(Timeout.java:201)
    at com.mongodb.internal.time.TimePoint.checkedCall(TimePoint.java:98)
    at com.mongodb.internal.time.Timeout.call(Timeout.java:174)
    at com.mongodb.internal.time.Timeout.run(Timeout.java:194)
    at com.mongodb.internal.time.Timeout.onExistsAndExpired(Timeout.java:233)
    at com.mongodb.internal.time.Timeout.onExpired(Timeout.java:226)
    at com.mongodb.internal.connection.BaseCluster.selectServer(BaseCluster.java:153)
    at com.mongodb.internal.connection.AbstractMultiServerCluster.selectServer(AbstractMultiServerCluster.java:59)
    at com.mongodb.internal.binding.ClusterBinding.getReadConnectionSource(ClusterBinding.java:82)
    at com.mongodb.client.internal.ClientSessionBinding.getConnectionSource(ClientSessionBinding.java:108)
    at com.mongodb.client.internal.ClientSessionBinding.getReadConnectionSource(ClientSessionBinding.java:88)
    at com.mongodb.internal.operation.SyncOperationHelper.withSuppliedResource(SyncOperationHelper.java:148)
    at com.mongodb.internal.operation.SyncOperationHelper.withSourceAndConnection(SyncOperationHelper.java:129)
    at com.mongodb.internal.operation.SyncOperationHelper.lambda$executeRetryableRead$4(SyncOperationHelper.java:195)
    at com.mongodb.internal.operation.SyncOperationHelper.lambda$decorateReadWithRetries$13(SyncOperationHelper.java:317)
    at com.mongodb.internal.async.function.RetryingSyncSupplier.get(RetryingSyncSupplier.java:67)
    at com.mongodb.internal.operation.SyncOperationHelper.executeRetryableRead(SyncOperationHelper.java:201)
    at com.mongodb.internal.operation.SyncOperationHelper.executeRetryableRead(SyncOperationHelper.java:180)
    at com.mongodb.internal.operation.AggregateOperationImpl.execute(AggregateOperationImpl.java:190)
    at com.mongodb.internal.operation.ChangeStreamOperation.execute(ChangeStreamOperation.java:198)
    at com.mongodb.internal.operation.ChangeStreamOperation.execute(ChangeStreamOperation.java:54)
    at com.mongodb.client.internal.MongoClusterImpl$OperationExecutorImpl.execute(MongoClusterImpl.java:358)
    at com.mongodb.client.internal.ChangeStreamIterableImpl.execute(ChangeStreamIterableImpl.java:223)
    at com.mongodb.client.internal.ChangeStreamIterableImpl.cursor(ChangeStreamIterableImpl.java:193)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.lambda$isValidResumeToken$10(MongoDbConnection.java:219)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.execute(MongoDbConnection.java:105)
    ... 17 more

I've tried several properties (e.g. "connect.max.attempts": -1, "errors.max.retries": "-1", "errors.tolerance": "all"), without any luck. The MongoTimeoutException seems to be treated as an "unrecoverable exception" and therefore all the properties do not apply to it.

For us it is absolutely neccessary to make sure that the connector is able to recover in such cases. Are there any other properties which need to be set in order to make the connector re-connect automatically (forever)?

Thanks in advance!

We're using Debezium MongoDB-connector with the outbox-router, which works very well. But when the database becomes unavailable, the connector fails without trying to recover.

Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted

2025-03-07 07:59:34,574 ERROR  MongoDB|dummy|task0  Error while attempting to Checking change stream: Timed out while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=REPLICA_SET, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.ConnectException: Connection refused}}]   [io.debezium.connector.mongodb.connection.MongoDbConnections]
com.mongodb.MongoTimeoutException: Timed out while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=REPLICA_SET, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.ConnectException: Connection refused}}]
    at com.mongodb.internal.connection.BaseCluster.logAndThrowTimeoutException(BaseCluster.java:427)
    at com.mongodb.internal.connection.BaseCluster.lambda$selectServer$0(BaseCluster.java:154)
    at com.mongodb.internal.time.Timeout.lambda$onExistsAndExpired$16(Timeout.java:236)
    at com.mongodb.internal.time.Timeout.lambda$run$10(Timeout.java:201)
    at com.mongodb.internal.time.TimePoint.checkedCall(TimePoint.java:98)
    at com.mongodb.internal.time.Timeout.call(Timeout.java:174)
    at com.mongodb.internal.time.Timeout.run(Timeout.java:194)
    at com.mongodb.internal.time.Timeout.onExistsAndExpired(Timeout.java:233)
    at com.mongodb.internal.time.Timeout.onExpired(Timeout.java:226)
    at com.mongodb.internal.connection.BaseCluster.selectServer(BaseCluster.java:153)
    at com.mongodb.internal.connection.AbstractMultiServerCluster.selectServer(AbstractMultiServerCluster.java:59)
    at com.mongodb.internal.binding.ClusterBinding.getReadConnectionSource(ClusterBinding.java:82)
    at com.mongodb.client.internal.ClientSessionBinding.getConnectionSource(ClientSessionBinding.java:108)
    at com.mongodb.client.internal.ClientSessionBinding.getReadConnectionSource(ClientSessionBinding.java:88)
    at com.mongodb.internal.operation.SyncOperationHelper.withSuppliedResource(SyncOperationHelper.java:148)
    at com.mongodb.internal.operation.SyncOperationHelper.withSourceAndConnection(SyncOperationHelper.java:129)
    at com.mongodb.internal.operation.SyncOperationHelper.lambda$executeRetryableRead$4(SyncOperationHelper.java:195)
    at com.mongodb.internal.operation.SyncOperationHelper.lambda$decorateReadWithRetries$13(SyncOperationHelper.java:317)
    at com.mongodb.internal.async.function.RetryingSyncSupplier.get(RetryingSyncSupplier.java:67)
    at com.mongodb.internal.operation.SyncOperationHelper.executeRetryableRead(SyncOperationHelper.java:201)
    at com.mongodb.internal.operation.SyncOperationHelper.executeRetryableRead(SyncOperationHelper.java:180)
    at com.mongodb.internal.operation.AggregateOperationImpl.execute(AggregateOperationImpl.java:190)
    at com.mongodb.internal.operation.ChangeStreamOperation.execute(ChangeStreamOperation.java:198)
    at com.mongodb.internal.operation.ChangeStreamOperation.execute(ChangeStreamOperation.java:54)
    at com.mongodb.client.internal.MongoClusterImpl$OperationExecutorImpl.execute(MongoClusterImpl.java:358)
    at com.mongodb.client.internal.ChangeStreamIterableImpl.execute(ChangeStreamIterableImpl.java:223)
    at com.mongodb.client.internal.ChangeStreamIterableImpl.cursor(ChangeStreamIterableImpl.java:193)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.lambda$isValidResumeToken$10(MongoDbConnection.java:219)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.execute(MongoDbConnection.java:105)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.isValidResumeToken(MongoDbConnection.java:215)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.validateLogPosition(MongoDbConnection.java:205)
    at io.debezium.connector.mongodb.MongoDbConnectorTask.validate(MongoDbConnectorTask.java:292)
    at io.debezium.connector.mongodb.MongoDbConnectorTask.start(MongoDbConnectorTask.java:137)
    at io.debezium.connectormon.BaseSourceTask.startIfNeededAndPossible(BaseSourceTask.java:403)
    at io.debezium.connectormon.BaseSourceTask.poll(BaseSourceTask.java:313)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.poll(AbstractWorkerSourceTask.java:466)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.execute(AbstractWorkerSourceTask.java:354)
    at .apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:226)
    at .apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:281)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.run(AbstractWorkerSourceTask.java:79)
    at .apache.kafka.connect.runtime.isolation.Plugins.lambda$withClassLoader$1(Plugins.java:238)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    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)
2025-03-07 07:59:34,575 ERROR  ||  WorkerSourceTask{id=mongo-connector-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted   [.apache.kafka.connect.runtime.WorkerTask]
io.debezium.DebeziumException: Error while attempting to Checking change stream
    at io.debezium.connector.mongodb.connection.MongoDbConnections.lambda$eventSourcingErrorHandler$1(MongoDbConnections.java:53)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.execute(MongoDbConnection.java:111)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.isValidResumeToken(MongoDbConnection.java:215)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.validateLogPosition(MongoDbConnection.java:205)
    at io.debezium.connector.mongodb.MongoDbConnectorTask.validate(MongoDbConnectorTask.java:292)
    at io.debezium.connector.mongodb.MongoDbConnectorTask.start(MongoDbConnectorTask.java:137)
    at io.debezium.connectormon.BaseSourceTask.startIfNeededAndPossible(BaseSourceTask.java:403)
    at io.debezium.connectormon.BaseSourceTask.poll(BaseSourceTask.java:313)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.poll(AbstractWorkerSourceTask.java:466)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.execute(AbstractWorkerSourceTask.java:354)
    at .apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:226)
    at .apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:281)
    at .apache.kafka.connect.runtime.AbstractWorkerSourceTask.run(AbstractWorkerSourceTask.java:79)
    at .apache.kafka.connect.runtime.isolation.Plugins.lambda$withClassLoader$1(Plugins.java:238)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    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: com.mongodb.MongoTimeoutException: Timed out while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=REPLICA_SET, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.ConnectException: Connection refused}}]
    at com.mongodb.internal.connection.BaseCluster.logAndThrowTimeoutException(BaseCluster.java:427)
    at com.mongodb.internal.connection.BaseCluster.lambda$selectServer$0(BaseCluster.java:154)
    at com.mongodb.internal.time.Timeout.lambda$onExistsAndExpired$16(Timeout.java:236)
    at com.mongodb.internal.time.Timeout.lambda$run$10(Timeout.java:201)
    at com.mongodb.internal.time.TimePoint.checkedCall(TimePoint.java:98)
    at com.mongodb.internal.time.Timeout.call(Timeout.java:174)
    at com.mongodb.internal.time.Timeout.run(Timeout.java:194)
    at com.mongodb.internal.time.Timeout.onExistsAndExpired(Timeout.java:233)
    at com.mongodb.internal.time.Timeout.onExpired(Timeout.java:226)
    at com.mongodb.internal.connection.BaseCluster.selectServer(BaseCluster.java:153)
    at com.mongodb.internal.connection.AbstractMultiServerCluster.selectServer(AbstractMultiServerCluster.java:59)
    at com.mongodb.internal.binding.ClusterBinding.getReadConnectionSource(ClusterBinding.java:82)
    at com.mongodb.client.internal.ClientSessionBinding.getConnectionSource(ClientSessionBinding.java:108)
    at com.mongodb.client.internal.ClientSessionBinding.getReadConnectionSource(ClientSessionBinding.java:88)
    at com.mongodb.internal.operation.SyncOperationHelper.withSuppliedResource(SyncOperationHelper.java:148)
    at com.mongodb.internal.operation.SyncOperationHelper.withSourceAndConnection(SyncOperationHelper.java:129)
    at com.mongodb.internal.operation.SyncOperationHelper.lambda$executeRetryableRead$4(SyncOperationHelper.java:195)
    at com.mongodb.internal.operation.SyncOperationHelper.lambda$decorateReadWithRetries$13(SyncOperationHelper.java:317)
    at com.mongodb.internal.async.function.RetryingSyncSupplier.get(RetryingSyncSupplier.java:67)
    at com.mongodb.internal.operation.SyncOperationHelper.executeRetryableRead(SyncOperationHelper.java:201)
    at com.mongodb.internal.operation.SyncOperationHelper.executeRetryableRead(SyncOperationHelper.java:180)
    at com.mongodb.internal.operation.AggregateOperationImpl.execute(AggregateOperationImpl.java:190)
    at com.mongodb.internal.operation.ChangeStreamOperation.execute(ChangeStreamOperation.java:198)
    at com.mongodb.internal.operation.ChangeStreamOperation.execute(ChangeStreamOperation.java:54)
    at com.mongodb.client.internal.MongoClusterImpl$OperationExecutorImpl.execute(MongoClusterImpl.java:358)
    at com.mongodb.client.internal.ChangeStreamIterableImpl.execute(ChangeStreamIterableImpl.java:223)
    at com.mongodb.client.internal.ChangeStreamIterableImpl.cursor(ChangeStreamIterableImpl.java:193)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.lambda$isValidResumeToken$10(MongoDbConnection.java:219)
    at io.debezium.connector.mongodb.connection.MongoDbConnection.execute(MongoDbConnection.java:105)
    ... 17 more

I've tried several properties (e.g. "connect.max.attempts": -1, "errors.max.retries": "-1", "errors.tolerance": "all"), without any luck. The MongoTimeoutException seems to be treated as an "unrecoverable exception" and therefore all the properties do not apply to it.

For us it is absolutely neccessary to make sure that the connector is able to recover in such cases. Are there any other properties which need to be set in order to make the connector re-connect automatically (forever)?

Thanks in advance!

Share Improve this question asked Mar 7 at 8:26 Simon WickSimon Wick 2912 silver badges13 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

I did some further analysis and I think it's a bug. So I filled one: https://issues.redhat/browse/DBZ-8763

发布评论

评论列表(0)

  1. 暂无评论