A. Sophie Blee-Goldman created KAFKA-10716:
----------------------------------------------

             Summary: Streams processId is unstable across restarts resulting 
in task mass migration
                 Key: KAFKA-10716
                 URL: https://issues.apache.org/jira/browse/KAFKA-10716
             Project: Kafka
          Issue Type: Bug
          Components: streams
    Affects Versions: 2.6.0
            Reporter: A. Sophie Blee-Goldman


The new high availability feature of KIP-441 relies on deterministic assignment 
to produce an eventually-stable assignment. The HighAvailabilityTaskAssignor 
assigns tasks based on the unique processId assigned to each client, so if the 
same set of Kafka Streams applications participate in a rebalance it should 
generate the same task assignment every time.

Unfortunately the processIds aren't stable across restarts. We generate a 
random UUID in the KafkaStreams constructor, so each time the process starts up 
it would be assigned a completely different processId. Unless this new 
processId happens to be in exactly the same order as the previous one, a single 
bounce or crash/restart can result in a large scale shuffling of tasks based on 
a completely different eventual assignment.

Ultimately we should fix this via KAFKA-10121, but that's a nontrivial 
undertaking and this bug merits some immediate relief if we don't intend to 
tackle the larger problem in the upcoming releases 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to