[ https://issues.apache.org/jira/browse/KAFKA-5505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16160845#comment-16160845 ]
Per Steffensen commented on KAFKA-5505: --------------------------------------- Just realized that SourceConnector has a initialize method that is given the "existing tasks configuration". That will help me a little. Besides that I was thinking that it may be easier to add more light-weight callbacks to the system via ConnectorContext. Today you only have requestTaskReconfiguration, which I guess tells the system that something changed - anything could have changed: several tasks added, several tasks removed, config change etc. What if we added two additional callbacks on ConnectorContext - addTask and removeTask - used to add and remove tasks respectively. That way the system does not have to do a complicated check of what changed and act appropriately (do the minimum required actions) as it probably has to with requestTaskReconfiguration today. We are leaving more of the detailed management of tasks to the concrete connector itself (if it wants to). Will that be easier? Guess, since this is new callbacks, that it will be easier to guarantee backwards compatibility on requestTaskReconfiguration? > Connect: Do not restart connector and existing tasks on task-set change > ----------------------------------------------------------------------- > > Key: KAFKA-5505 > URL: https://issues.apache.org/jira/browse/KAFKA-5505 > Project: Kafka > Issue Type: Improvement > Components: KafkaConnect > Affects Versions: 0.10.2.1 > Reporter: Per Steffensen > > I am writing a connector with a frequently changing task-set. It is really > not working very well, because the connector and all existing tasks are > restarted when the set of tasks changes. E.g. if the connector is running > with 10 tasks, and an additional task is needed, the connector itself and all > 10 existing tasks are restarted, just to make the 11th task run also. My > tasks have a fairly heavy initialization, making it extra annoying. I would > like to see a change, introducing a "mode", where only new/deleted tasks are > started/stopped when notifying the system that the set of tasks changed > (calling context.requestTaskReconfiguration() - or something similar). > Discussed this issue a little on d...@kafka.apache.org in the thread "Kafka > Connect: To much restarting with a SourceConnector with dynamic set of tasks" -- This message was sent by Atlassian JIRA (v6.4.14#64029)