Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-14746

Throwing in Connector.taskConfigs in distributed mode generates a lot of logs

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • connect
    • None

    Description

      If a Connector throws in its taskConfigs() method, the runtime ends up retrying using DistributedHerder.RECONFIGURE_CONNECTOR_TASKS_BACKOFF_MS which is a fixed value (250ms). For each retry, the runtime prints the connector configuration and the enriched configuration so this can quickly generate a lot of logs.

      There is some value in throwing in taskConfigs() as it allows to fail fast in case the connector is given bad credentials. For example this is what some of the Debezium connectors do: https://github.com/debezium/debezium/blob/main/debezium-connector-sqlserver/src/main/java/io/debezium/connector/sqlserver/SqlServerConnector.java#L56-L69

      The way Connectors are expected to work today is to instead always create tasks and let each task fail in case the configuration is wrong. We should document that and make it clear in the javadoc that throwing in taskConfigs is not recommended.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mimaison Mickael Maison
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: