You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Manikumar Reddy (JIRA)" <ji...@apache.org> on 2015/06/13 14:34:00 UTC

[jira] [Commented] (KAFKA-2234) Partition reassignment of a nonexistent topic prevents future reassignments

    [ https://issues.apache.org/jira/browse/KAFKA-2234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14584589#comment-14584589 ] 

Manikumar Reddy commented on KAFKA-2234:
----------------------------------------

Created reviewboard https://reviews.apache.org/r/35424/diff/
 against branch origin/trunk

> 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
>         Attachments: KAFKA-2234.patch
>
>
> 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)