[ https://issues.apache.org/jira/browse/KAFKA-1742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14192733#comment-14192733 ]
Onur Karaman commented on KAFKA-1742: ------------------------------------- partitionLeadershipInfo and partitionReplicaAssignment are mutable.Maps. Given that a mutable.Map may be arbitrarily ordered, dropping the longest prefix of elements that satisfy a predicate can cause incorrect results. It's also noted in the scaladocs [http://www.scala-lang.org/api/current/index.html#scala.collection.mutable.Map@dropWhile(p:A=>Boolean):Repr] For example: {code} import collection._ object Main { def main(args: Array[String]) { var m = mutable.Map(5 -> 2, 3 -> 6) println("original: " + m) println("using filter: " + m.filter(p => p._1 != 3)) println("using dropWhile: " + m.dropWhile(p => p._1 == 3)) } } {code} Outputs: {code} original: Map(5 -> 2, 3 -> 6) using filter: Map(5 -> 2) using dropWhile: Map(5 -> 2, 3 -> 6) {code} > ControllerContext removeTopic does not correctly update state > ------------------------------------------------------------- > > Key: KAFKA-1742 > URL: https://issues.apache.org/jira/browse/KAFKA-1742 > Project: Kafka > Issue Type: Bug > Reporter: Onur Karaman > Assignee: Onur Karaman > Priority: Blocker > Fix For: 0.8.2 > > > removeTopic does not correctly update the state of ControllerContext. > This is because it removes the topic from some underlying maps through > dropWhile. -- This message was sent by Atlassian JIRA (v6.3.4#6332)