[ https://issues.apache.org/jira/browse/KAFKA-14746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17709965#comment-17709965 ]
Yash Mayya commented on KAFKA-14746: ------------------------------------ I agree that the intent of the retries seems to be mainly to handle failures while communicating with the leader - this infinite retry mechanism covering exceptions thrown from connectors' taskConfigs method doesn't seem to make sense intuitively and was probably an oversight. [~ChrisEgerton] are you suggesting a KIP to modify the existing retry mechanism to not cover exceptions thrown from connectors' taskConfigs method? Why would this require a KIP if this retry mechanism isn't part of the public API? > Throwing in Connector.taskConfigs in distributed mode generates a lot of logs > ----------------------------------------------------------------------------- > > Key: KAFKA-14746 > URL: https://issues.apache.org/jira/browse/KAFKA-14746 > Project: Kafka > Issue Type: Improvement > Components: KafkaConnect > Reporter: Mickael Maison > Priority: Major > > 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. -- This message was sent by Atlassian Jira (v8.20.10#820010)