Lucas Bradstreet created KAFKA-9946:
---------------------------------------

             Summary: KAFKA-9539/StopReplicaRequest deletePartition changes may 
cause premature topic deletion handling in controller
                 Key: KAFKA-9946
                 URL: https://issues.apache.org/jira/browse/KAFKA-9946
             Project: Kafka
          Issue Type: Bug
          Components: core
    Affects Versions: 2.6.0
            Reporter: Lucas Bradstreet


It seems like 
[https://github.com/apache/kafka/commit/7c7d55dbd8d42f6378d13ba02d62633366a7ede8]
 does not handle StopReplicaRequest where deletePartition(s) is set to false 
correctly when another delete topic request is outstanding at the time of the 
response being received.

In the failing code it seems like two StopReplicaRequest(s) are sent, one with 
the delete flag set on partitions, and one without. It seems like the request 
without the delete flag set on any partitions is prematurely triggering the 
controller to believe that the topic was deleted successfully.

We previously didn't set a callback if the StopReplicaRequest was not a delete 
request 
[https://github.com/apache/kafka/commit/7c7d55dbd8d42f6378d13ba02d62633366a7ede8#diff-987fef43991384a3ebec5fb55e53b577L570|https://github.com/apache/kafka/commit/7c7d55dbd8d42f6378d13ba02d62633366a7ede8#diff-987fef43991384a3ebec5fb55e53b577L570,].
 Now we set it unconditionally 
[https://github.com/apache/kafka/commit/7c7d55dbd8d42f6378d13ba02d62633366a7ede8#diff-987fef43991384a3ebec5fb55e53b577L570,]
 but the callback does not distinguish between the partition states where a 
delete was being performed and where it was not. This happens on all IBP 
versions.



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

Reply via email to