[ 
https://issues.apache.org/jira/browse/KAFKA-2234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Manikumar Reddy updated KAFKA-2234:
-----------------------------------
    Assignee: Manikumar Reddy
      Status: Patch Available  (was: Open)

> 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
>            Assignee: Manikumar Reddy
>            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)

Reply via email to