[ https://issues.apache.org/jira/browse/KAFKA-9946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Gustafson resolved KAFKA-9946. ------------------------------------ Resolution: Fixed > 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 > Assignee: David Jacot > Priority: Critical > > 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)