Uploaded image for project: 'Apache Storm'
  1. Apache Storm
  2. STORM-1645

nimbus.thrift.port command line argument leads to java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.10.0
    • 0.10.1
    • storm-core
    • None

    Description

      When you supply the commandline parameter for a custom Nimbus thrift port, the number value is interpreted as a Long, but internally used as an Integer. This leads to a ClassCastException.

      This is executed (redacted):
      /opt/storm/apache-storm-0.10.0/bin/storm kill -w 10 -c nimbus.thrift.port=6627 -c nimbus.host=vm0009 #

      {topology}

      "

      This is the output:

        • [out :: vm0009] 2627 [main] INFO b.s.u.Utils - Using defaults.yaml from resources
        • [out :: vm0009] 2795 [main] INFO b.s.u.Utils - Using storm.yaml from resources
        • [out :: vm0009] 4262 [main] INFO b.s.u.Utils - Using defaults.yaml from resources
        • [out :: vm0009] 4287 [main] INFO b.s.u.Utils - Using storm.yaml from resources
        • [out :: vm0009] 4328 [main] INFO b.s.thrift - Connecting to Nimbus at vm0009:6627 as user:
        • [out :: vm0009] 4328 [main] INFO b.s.u.Utils - Using defaults.yaml from resources
        • [out :: vm0009] 4348 [main] INFO b.s.u.Utils - Using storm.yaml from resources
        • [out :: vm0009] Exception in thread "main"
        • [out :: vm0009] java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
        • [out :: vm0009]
        • [out :: vm0009] at backtype.storm.thrift$nimbus_client_and_conn.invoke(thrift.clj:75)
        • [out :: vm0009]
        • [out :: vm0009] at backtype.storm.thrift$nimbus_client_and_conn.invoke(thrift.clj:72)
        • [out :: vm0009]
        • [out :: vm0009]
        • [out :: vm0009] at backtype.storm.command.kill_topology$_main.doInvoke(kill_topology.clj:26)
        • [out :: vm0009]
        • [out :: vm0009] at clojure.lang.RestFn.applyTo(RestFn.java:137)
        • [out :: vm0009]
        • [out :: vm0009] at backtype.storm.command.kill_topology.main(Unknown Source)
        • [out :: vm0009]

      I have seen other related issues: https://issues.apache.org/jira/browse/STORM-1578
      I believe this is the same issue (internally using an Integer, but converting the input to a Long) in a different area.

      Attachments

        Activity

          People

            abhishek.agarwal Abhishek Agarwal
            Waatze Goldewijk Waatze Goldewijk
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: