Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-5837

ReassignPartitionsCommand fails if default throttle/timeout used

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.0.0
    • 1.0.0
    • admin
    • None

    Description

      System ReassignPartitionsTest.test_reassign_partitions failed with:

      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)

      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:

      val throttle = if (opts.options.has(opts.throttleOpt)) opts.options.valueOf(opts.throttleOpt) else -1

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

      Attachments

        Issue Links

          Activity

            People

              rsivaram Rajini Sivaram
              rsivaram Rajini Sivaram
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: