[ https://issues.apache.org/jira/browse/KAFKA-2234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bob Halley updated KAFKA-2234: ------------------------------ Summary: Partition reassignment of a nonexistent topic prevents future reassignments (was: Partition reassignment of an empty topic prevents future reassignments) > Partition reassignment of a nonexistent topic prevents future reassignments > --------------------------------------------------------------------------- > > Key: KAFKA-2234 > URL: https://issues.apache.org/jira/browse/KAFKA-2234 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.8.2.1 > Reporter: Bob Halley > Priority: Blocker > > The results of this bug are like those of KAFKA-822. If I erroneously list a > non-existent topic in a partition reassignment request, then it will never > complete and it becomes impossible to do reassignments until the > admin/reassign-partitions node is deleted by hand from zookeeper. > Note too the incoherent messaging in the bad command. First it says ERROR > what I'm trying to do is bad, and then it says it has successfully started it > (which indeed it has, at least in the sense of writing an empty list to to > zookeeper :)). > # reassignment.json is bad, it refers to the non-existent topic "bad-foo" > $ cat reassignment.json > {"partitions": > [{"topic": "bad-foo", > "partition": 0, > "replicas": [2] }], > "version":1 > } > $ kafka-reassign-partitions.sh --reassignment-json-file reassignment.json > --zookeeper localhost:2181/kafka --execute > Current partition replica assignment > {"version":1,"partitions":[]} > Save this to use as the --reassignment-json-file option during rollback > [2015-06-01 06:34:26,275] ERROR Skipping reassignment of partition > [bad-foo,0] since it doesn't exist (kafka.admin.ReassignPartitionsCommand) > Successfully started reassignment of partitions > {"version":1,"partitions":[{"topic":"bad-foo","partition":0,"replicas":[2]}]} > $ zkCli > Connecting to localhost:2181 > Welcome to ZooKeeper! > JLine support is enabled > WATCHER:: > WatchedEvent state:SyncConnected type:None path:null > [zk: localhost:2181(CONNECTED) 2] get /kafka/admin/reassign_partitions > {"version":1,"partitions":[]} > cZxid = 0x5d > ctime = Mon Jun 01 06:34:26 PDT 2015 > mZxid = 0x5d > mtime = Mon Jun 01 06:34:26 PDT 2015 > pZxid = 0x5d > cversion = 0 > dataVersion = 0 > aclVersion = 0 > ephemeralOwner = 0x0 > dataLength = 29 > numChildren = 0 > ^C > # Fix reassignment.json > $kafka-reassign-partitions.sh --reassignment-json-file reassignment.json > --zookeeper localhost:2181/kafka --executetions > Current partition replica assignment > {"version":1,"partitions":[{"topic":"good-foo","partition":0,"replicas":[2]}]} > Save this to use as the --reassignment-json-file option during rollback > Partitions reassignment failed due to Partition reassignment currently in > progress for Map(). Aborting operation > kafka.common.AdminCommandFailedException: Partition reassignment currently in > progress for Map(). Aborting operation > at > kafka.admin.ReassignPartitionsCommand.reassignPartitions(ReassignPartitionsCommand.scala:216) > at > kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:133) > at > kafka.admin.ReassignPartitionsCommand$.main(ReassignPartitionsCommand.scala:47) > at > kafka.admin.ReassignPartitionsCommand.main(ReassignPartitionsCommand.scala) -- This message was sent by Atlassian JIRA (v6.3.4#6332)