You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Lucas Bradstreet (Jira)" <ji...@apache.org> on 2020/05/01 16:22:00 UTC

[jira] [Created] (KAFKA-9946) KAFKA-9539/StopReplicaRequest deletePartition changes may cause premature topic deletion handling in controller

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)