Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-5837

NullPointerException with MongoDB Debezium Source Connector

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • under-triaging
    • 1.8.1.Final
    • mongodb-connector
    • None
    • False
    • None
    • False
    • Important

    Description

      Bug report

      Getting this NullPointerException intermittently in a production deployment over an on-premise mongo cluster.

      What Debezium connector do you use and what version?

      MongoDB Debezium Connector. Version = 1.8.1

      What is the connector configuration?

      {
          "connector.class": "io.debezium.connector.mongodb.MongoDbConnector",
          "collection.include.list": "****",
          "producer.override.compression.type": "snappy",
          "mongodb.password": "******",
          "mongodb.user": "*****",
          "mongodb.name": "******",
          "value.subject.name.strategy": "io.confluent.kafka.serializers.subject.TopicRecordNameStrategy",
          "tombstones.on.delete": "false",
          "value.converter.schema.registry.url": "http://schema-registry3:8081",
          "name": "debezium_2022_10_18",
          "value.converter": "io.confluent.connect.avro.AvroConverter",
          "mongodb.hosts": "****",
          "key.converter": "io.confluent.connect.avro.AvroConverter",
          "key.converter.schema.registry.url": "http://schema-registry3:8081",
          "database.include.list": "****"
      } 

      What are the captured database version and mode of deployment?

      On-premise deployment. MongoDB Version: 5.0.0

      What behavior do you expect?

      There should not be any NullPointerException

      What behavior do you see?

      I get a NullPointerException

      Do you see the same behavior using the latest released Debezium version?

      I can't deploy the latest version in production.

      Do you have the connector logs, ideally from the start until finish?

      [2022-11-03 08:29:21,225] INFO [debezium_2022_10_18|task-0|offsets] WorkerSourceTask{id=debezium_2022_10_18-0} Either no records were produced by the task since the last offset commit, or every record has been filtered out by a transformation or dropped due to transformation or conversion errors. (org.apache.kafka.connect.runtime.WorkerSourceTask:484)
      [2022-11-03 08:29:22,889] INFO [Worker clientId=connect-1, groupId=debezium-cluster] Connector debezium_2022_10_18 target state change (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1711)
      [2022-11-03 08:29:22,890] INFO Setting connector debezium_2022_10_18 state to STARTED (org.apache.kafka.connect.runtime.Worker:946)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0] Starting MongoDbConnectorTask with configuration: (io.debezium.connector.common.BaseSourceTask:124)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    connector.class = io.debezium.connector.mongodb.MongoDbConnector (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    collection.include.list = database_1.table_1 (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    producer.override.compression.type = snappy (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    mongodb.password = *** (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    mongodb.user = *** (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    mongodb.name = user_1 (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    value.subject.name.strategy = io.confluent.kafka.serializers.subject.TopicRecordNameStrategy (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    tombstones.on.delete = false (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    value.converter.schema.registry.url = http://schema-registry:8081 (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    task.class = io.debezium.connector.mongodb.MongoDbConnectorTask (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    mongodb.task.id = 0 (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    name = debezium_2022_10_18 (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    value.converter = io.confluent.connect.avro.AvroConverter (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    mongodb.hosts = **** (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    key.converter = io.confluent.connect.avro.AvroConverter (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    key.converter.schema.registry.url = http://schema-registry:8081 (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,890] INFO [debezium_2022_10_18|task-0]    database.include.list = database_1 (io.debezium.connector.common.BaseSourceTask:126)
      [2022-11-03 08:29:22,893] ERROR [debezium_2022_10_18|task-0] WorkerSourceTask{id=debezium_2022_10_18-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted (org.apache.kafka.connect.runtime.WorkerTask:195)
      java.lang.NullPointerException
          at io.debezium.connector.mongodb.MongoDbIncrementalSnapshotContext.init(MongoDbIncrementalSnapshotContext.java:178)
          at io.debezium.connector.mongodb.MongoDbIncrementalSnapshotContext.load(MongoDbIncrementalSnapshotContext.java:276)
          at io.debezium.connector.mongodb.MongoDbOffsetContext$Loader.loadOffsets(MongoDbOffsetContext.java:167)
          at io.debezium.connector.mongodb.MongoDbConnectorTask.getPreviousOffset(MongoDbConnectorTask.java:199)
          at io.debezium.connector.mongodb.MongoDbConnectorTask.start(MongoDbConnectorTask.java:83)
          at io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:130)
          at org.apache.kafka.connect.runtime.WorkerSourceTask.initializeAndStart(WorkerSourceTask.java:225)
          at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:186)
          at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:243)
          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:829)
      [2022-11-03 08:29:22,894] INFO [debezium_2022_10_18|task-0] Stopping down connector (io.debezium.connector.common.BaseSourceTask:238)
      [2022-11-03 08:29:22,894] INFO [debezium_2022_10_18|task-0] [Producer clientId=connector-producer-debezium_2022_10_18-0] Closing the Kafka producer with timeoutMillis = 30000 ms. (org.apache.kafka.clients.producer.KafkaProducer:1228) 

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            athultr1997 Athul T R (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: