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

Task Fails When Informix Database Is In Single User Mode

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Blocker Blocker
    • 2.7-plan
    • None
    • informix-connector
    • None
    • False
    • None
    • False
    • Critical

      // code placeholder
      

      In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.

      Bug report

      For bug reports, provide this information, please:

      What Debezium connector do you use and what version?

      I am using Debezium Informix Source connector, and the version is 2.6.0.

      What is the connector configuration?

      { "connector.class": "io.debezium.connector.informix.InformixConnector", "errors.log.include.messages": "true", "topic.creation.default.partitions": "1", "value.converter.schema.registry.subject.name.strategy": "io.confluent.kafka.serializers.subject.TopicNameStrategy", "key.converter.schema.registry.subject.name.strategy": "io.confluent.kafka.serializers.subject.TopicNameStrategy", "transforms": "unwrap,TSF1", "errors.deadletterqueue.context.headers.enable": "true", "transforms.unwrap.drop.tombstones": "false", "topic.creation.default.replication.factor": "1", "errors.deadletterqueue.topic.replication.factor": "1", "transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState", "errors.log.enable": "true", "key.converter": "io.confluent.connect.avro.AvroConverter", "database.user": "kafka", "database.dbname": "cards_1952", "topic.creation.default.compression.type": "lz4", "schema.history.internal.kafka.bootstrap.servers": "192.168.151.201:9092,192.168.151.202:9092,192.168.151.203:9092", "value.converter.schema.registry.url": "http://192.168.151.201:8081", "transforms.TSF1.static.value": "150", "errors.max.retries": "-1", "errors.deadletterqueue.topic.name": "informix-gpdb-source-errors", "database.password": "******", "errors.tolerance": "all", "pk.mode": "primary_key", "snapshot.mode": "schema_only", "compression.type": "lz4", "tasks.max": "1", "retriable.restart.connector.wait.ms": "60000", "transforms.TSF1.static.field": "instance_id", "database.connection.retry.interval.ms": "80000", "schema.history.internal.store.only.captured.tables.ddl": "true", "schema.history.internal.store.only.captured.databases.ddl": "true", "transforms.TSF1.type": "org.apache.kafka.connect.transforms.InsertField$Value", "tombstones.on.delete": "true", "topic.prefix": "mcp_kafka_net_21", "decimal.handling.mode": "double", "schema.history.internal.kafka.topic": "informixschemahistory", "value.converter": "io.confluent.connect.avro.AvroConverter", "topic.creation.default.cleanup.policy": "compact", "time.precision.mode": "connect", "database.server.name": "mcp_kafka_net_21", "snapshot.isolation.mode": "read_committed", "database.port": "9260", "debug.logs": "true", "database.hostname": "192.168.151.101", "database.connection.retries": "10", "table.include.list": "cards_1952.mcp.trans_requests_reps", "key.converter.schema.registry.url": "http://192.168.151.201:8081"} 

      What is the captured database version and mode of deployment?

      I am using the below versions of Informix and I am using the KAFKA Connect UI for Debezium connector deployment.

      Informix Dynamic Server
      14.10.FC10W1X2
      Informix JDBC Driver for Informix Dynamic Server
      4.50.JC10

      KAFKA Version: 7.4.1-ce

      What behaviour do you expect?

      Using the following configurations "retriable.restart.connector.wait.ms": "60000", "errors.max.retries": "-1", it was expected that when the connection is broken between the Informix source connector and the Informix database, the source connector would attempt to retry to make connection with the database as mentioned in the logs. After waiting for a 1 minute for the database to be available, the connector should restart the task and make connection if the database is available. If the database is not available after 1 min, reattempt the whole process until a connection is made. 

      What behaviour do you see?

      Using the following configurations "retriable.restart.connector.wait.ms": "60000", "errors.max.retries": "-1", the connector attempts to retry 1 out of unlimited retries and restarts the task but after 1 minute as configured. The error that the connection has not been established is being printed in the logs, and after 1 minute, the connector is automatically restarted. However, the informix database was still in single user mode and connection was not made. Instead of reattempting another retry out of unlimited retries, the producer fails, and the task is stopped. Increasing the restart wait time is not advisable as there are other simple scenarios such as the informix database is restarted in which the database would be available within a minute and increasing the time would delay all processing in these scenarios. 

       

      The following configurations did not resolve this issue as well. "database.connection.retries": "10", "database.connection.retry.interval.ms": "80000", 

      Kindly suggest why this behavior is occurring and how it can be resolved. 

      Do you see the same behaviour using the latest relesead Debezium version?

      Yes

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

      Complete logs has been attached.

              Unassigned Unassigned
              maaheen11 Maaheen Yasin (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: