[
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)