Uploaded image for project: 'Flume'
  1. Flume
  2. FLUME-71

Config entered with no nodename breaks config store

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.9.0
    • 0.9.1
    • Master
    • None

    Description

      Entering a config on /flumeconfig.jsp with no node selected, but a valid source and sink produces this exception in the Master:

      10/07/20 17:30:16 ERROR master.CommandManager: Unexpected exception during cmdid:3 config [null, collectorSource(35853), collectorSink("file:///pegs/flume/%Y/%m/%d/%

      {host}

      ", "rvngistats-")]] : null
      java.lang.IllegalArgumentException
      at com.google.common.base.Preconditions.checkArgument(Preconditions.java:75)
      at com.cloudera.flume.master.failover.FailoverConfigurationManager.translateSink(FailoverConfigurationManager.java:103)
      at com.cloudera.flume.master.TranslatingConfigurationManager.setConfig(TranslatingConfigurationManager.java:105)
      at com.cloudera.flume.master.flows.FlowConfigManager.setConfig(FlowConfigManager.java:262)
      at com.cloudera.flume.master.TranslatingConfigurationManager.setConfig(TranslatingConfigurationManager.java:98)
      at com.cloudera.flume.master.ConfigCommand$1.exec(ConfigCommand.java:87)
      at com.cloudera.flume.master.CommandManager.exec(CommandManager.java:255)
      at com.cloudera.flume.master.CommandManager.handleCommand(CommandManager.java:194)
      at com.cloudera.flume.master.CommandManager$ExecThread.run(CommandManager.java:225)

      At that point, /flumemaster.jsp fails with this NPE:

      10/07/20 17:30:25 WARN /: /flumemaster.jsp:
      java.lang.NullPointerException
      at java.lang.String.compareTo(String.java:1167)
      at java.lang.String.compareTo(String.java:92)
      at java.util.TreeMap.put(TreeMap.java:545)
      at java.util.AbstractMap.putAll(AbstractMap.java:256)
      at java.util.TreeMap.putAll(TreeMap.java:304)
      at java.util.TreeMap.<init>(TreeMap.java:162)
      at com.cloudera.flume.master.TranslatingConfigurationManager.getReport(TranslatingConfigurationManager.java:154)
      at com.cloudera.flume.master.FlumeMaster.reportHtml(FlumeMaster.java:327)
      at org.apache.jsp.flumemaster_jsp._jspService(flumemaster_jsp.java:68)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
      at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:475)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1565)
      at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:635)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1517)
      at org.mortbay.http.HttpServer.service(HttpServer.java:954)
      at org.mortbay.http.HttpConnection.service(HttpConnection.java:814)
      at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:981)
      at org.mortbay.http.HttpConnection.handle(HttpConnection.java:831)
      at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
      at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
      at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

      And shell 'getconfigs' fails like this:

      [flume localhost:35873:45678] getconfigs
      757017 [pool-2-thread-1] ERROR org.apache.thrift.server.TSaneThreadPoolServer - Error occDisconnected!urred
      during 10/07/20 17:35:36 ERROR util.FlumeShell: getconfigs failed due to transport error
      proc[flume (disconnected)] essing of message.
      java.lang.NullPointerException
      at org.apache.thrift.protocol.TBinaryProtocol.writeString(TBinaryProtocol.java:174)
      at com.cloudera.flume.conf.thrift.FlumeMasterAdminServer$getConfigs_result.write(FlumeMasterAdminServer.java:3066)
      at com.cloudera.flume.conf.thrift.FlumeMasterAdminServer$Processor$getConfigs.process(FlumeMasterAdminServer.java:382)
      at com.cloudera.flume.conf.thrift.FlumeMasterAdminServer$Processor.process(FlumeMasterAdminServer.java:302)
      at org.apache.thrift.server.TSaneThreadPoolServer$WorkerProcess.run(TSaneThreadPoolServer.java:280)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)

      [flume (disconnected)] connect localhost
      Using default admin port: 35873
      Using default report port: 45678
      Connecting to Flume master localhost:35873:45678...
      [flume localhost:35873:45678] getconfigs
      799212 [pool-2-thread-1] ERROR org.apache.thrift.server.TSaneThrDisconnected!ea
      dPoolServer - 10/07/20 17:36:18 ERROR util.FlumeShell: getconfigs failed due to transport error
      Error [flume (disconnected)] occurred during processing of message.
      java.lang.NullPointerException
      at org.apache.thrift.protocol.TBinaryProtocol.writeString(TBinaryProtocol.java:174)
      at com.cloudera.flume.conf.thrift.FlumeMasterAdminServer$getConfigs_result.write(FlumeMasterAdminServer.java:3066)
      at com.cloudera.flume.conf.thrift.FlumeMasterAdminServer$Processor$getConfigs.process(FlumeMasterAdminServer.java:382)
      at com.cloudera.flume.conf.thrift.FlumeMasterAdminServer$Processor.process(FlumeMasterAdminServer.java:302)
      at org.apache.thrift.server.TSaneThreadPoolServer$WorkerProcess.run(TSaneThreadPoolServer.java:280)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)

      Attachments

        Activity

          People

            jmhsieh Jonathan Hsieh
            flume_pdehlke Disabled imported user
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: