You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Rajini Sivaram (JIRA)" <ji...@apache.org> on 2017/09/05 15:50:00 UTC

[jira] [Created] (KAFKA-5837) ReassignPartitionsCommand fails if default throttle/timeout used

Rajini Sivaram created KAFKA-5837:
-------------------------------------

             Summary: ReassignPartitionsCommand fails if default throttle/timeout used
                 Key: KAFKA-5837
                 URL: https://issues.apache.org/jira/browse/KAFKA-5837
             Project: Kafka
          Issue Type: Bug
          Components: admin
    Affects Versions: 1.0.0
            Reporter: Rajini Sivaram
            Assignee: Rajini Sivaram
             Fix For: 1.0.0


System ReassignPartitionsTest.test_reassign_partitions failed with:

{quote}
Partitions reassignment failed due to java.lang.String cannot be cast to java.lang.Long
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
  at scala.runtime.BoxesRunTime.unboxToLong(BoxesRunTime.java:105)
  at kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:188)
  at kafka.admin.ReassignPartitionsCommand$.main(ReassignPartitionsCommand.scala:61)
  at kafka.admin.ReassignPartitionsCommand.main(ReassignPartitionsCommand.scala)
{quote}

This is because default throttle is being set as a String rather than a Long. Default throttle was never being set properly in the command opts, but it didn't matter earlier because code used to set it explicitly:
{quote}
val throttle = if (opts.options.has(opts.throttleOpt)) opts.options.valueOf(opts.throttleOpt) else -1
{quote}
But the commit https://github.com/apache/kafka/commit/adefc8ea076354e07839f0319fee1fba52343b91 started using the default directly (and also added a timeout with default set in the same way).




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)