[
https://issues.apache.org/jira/browse/KAFKA-9472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17023297#comment-17023297
]
Chris Egerton commented on KAFKA-9472:
--------------------------------------
After looking into this a bit I suspect the root cause is different... it looks
like KAFKA-8869 is caused by not removing task configurations for deleted
connectors from the task config map, whereas this issue is caused by not
removing the statuses for no-longer-needed tasks from the status backing store
when the number of tasks for a connector is reduced, but the connector is still
running.
>From what I can tell, this issue does not arise when a connector is deleted
>(the task statuses are correctly removed from the backing store), and
>KAFKA-8869 does not arise when the number of tasks for a connector is reduced
>(the task reduction is correctly reflected in the values for the task config
>map).
> Reducing number of tasks for connector causes deleted tasks to show as
> UNASSIGNED
> ---------------------------------------------------------------------------------
>
> Key: KAFKA-9472
> URL: https://issues.apache.org/jira/browse/KAFKA-9472
> Project: Kafka
> Issue Type: Bug
> Components: KafkaConnect
> Affects Versions: 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.1.1, 2.3.0, 2.2.1, 2.2.2,
> 2.4.0, 2.3.1
> Reporter: Chris Egerton
> Priority: Major
>
> If a connector is successfully created with {{t1}} running tasks and then
> reconfigured to use {{t1 - n}} tasks (where {{t1}} and {{n}} are both whole
> numbers and {{n}} is strictly less than {{t1}}), the connector should then
> list {{t1 - n}} total tasks in its status (which can be queried via the
> {{/connectors/:name:/status}} endpoint or the {{/connectors}} endpoint with
> the {{expand}} URL query parameter set to {{status}}).
> However, the connector will instead continue to list {{t1}} total tasks in
> its status, with {{n}} of them being listed as {{UNASSIGNED}} and the
> remaining {{t1 - n}} of them being listed as {{STARTED}}.
> This is because the only time a task status is removed from the status
> backing store (as opposed to simply being updated to {{UNASSIGNED}}) is when
> its connector is deleted. See relevant code snippets from the
> [AbstractHerder|https://github.com/apache/kafka/blob/df13fc93d0aebfe0ecc40dd4af3c5fb19b35f710/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/AbstractHerder.java#L187-L192]
> and
> [DistributedHerder|https://github.com/apache/kafka/blob/df13fc93d0aebfe0ecc40dd4af3c5fb19b35f710/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/distributed/DistributedHerder.java#L1511-L1520]
> classes.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)