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

Last error not displayed in Topology summary storm ui

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.0.0, 2.1.0, 2.2.0
    • 2.3.0
    • storm-webapp
    • None

    Description

      Under storm ui "Topology summary" lastError is not getting populated, you need to go into "Component summary"
       
      Seems some body raised a similar question here https://github.com/apache/storm/pull/2828#issuecomment-420790179

      STORM-3217 fixed the component page, but not the topology page
      is it because it is missing here https://github.com/apache/storm/blob/v2.1.0/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java#L1225

       

      I see it is in this section added https://github.com/apache/storm/blob/v2.1.0/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java#L1480
       

      Topology summary (Last error appears empty, failed metric = 40)

      API response
      localhost:8080/api/v1/topology/topology-test-1-1591927011

       
      {
         "bolts":[
            {
               "requestedCpu":10.0,
               "encodedBoltId":"TopLevel.test",
               "transferred":0,
               "lastError":"",  <-- *empty*
               "processLatency":"0.000",
               "executeLatency":"5.000",
               "executed":40,
               "failed":40, <-- *failed count not zero*
               "requestedMemOnHeap":128.0,
               "acked":0,
               "capacity":"0.001",
               "emitted":0,
               "requestedMemOffHeap":0.0,
               "executors":1,
               "requestedGenericResourcesComp":"",
               "boltId":"TopLevel.test",
               "tasks":1
            }
         ]
      }
      

       

      Component summary (Displays the errors)

      API response
      localhost:8080/api/v1/topology/topology-test-1-1591927011/component/TopLevel.test?sys=false

      {
         "requestedGenericResources":"",
         "componentErrors":[
            {
               "errorTime":1591928686,
               "errorWorkerLogLink":"http:\/\/localhost:8000\/api\/v1\/log?file=topology-test-1-1591927011%2F6700%2Fworker.log",
               "errorLapsedSecs":16,
               "errorPort":6700,
               "error":"java.lang.IllegalArgumentException: Error with IllegalArgumentException\n\tat com.test.TestBolt.execute(TestBolt.java:35)\n\tat org.apache.storm.executor.bolt.BoltExecutor.tupleActionFn(BoltExecutor.java:236)\n\tat org.apache.storm.executor.Executor.accept(Executor.java:283)\n\tat org.apache.storm.utils.JCQueue.consumeImpl(JCQueue.java:131)\n\tat org.apache.storm.utils.JCQueue.consume(JCQueue.java:111)\n\tat org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:172)\n\tat org.apache.storm.executor.bolt.BoltExecutor$1.call(BoltExecutor.java:159)\n\tat org.apache.storm.utils.Utils$1.run(Utils.java:394)\n\tat java.lang.Thread.run(Thread.java:748)\n",
               "errorHost":"localhost"
            }
         ]
      }
      

       Errors reported using

      // Where outputCollector is the instance passed during BaseRichBolt::prepare
      
      // public void prepare(Map stormConf, TopologyContext context, OutputCollector outputCollector) {
      
      outputCollector().reportError(e);
      outputCollector().fail(input);
      
      

      Attachments

        Activity

          People

            spowis@salesforce.com Stephen Powis
            jbarreto jbarreto
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 3h 50m
                3h 50m