Skip to content

Troubleshooting Punchlet slow processing

Symptom

You observe a slow-down of a punchlet processing, you want to know why.

Resolution

  1. Check there is a backlog in the input topic of the punchline hosting your punchlet. If there is no backlog, do not investigate further, your punchline has simply not enough data to process.
  2. for Storm punchlines check the capacity of your punch bolt component:
    • Connect to the Storm UI
    • Click on the punchline hosting your punchlet
    • On the section Bolts and on the line matching your component (punch_bolt for example) check the capacity value. If the value is near of 1 or higher, your component is indeed too slow and suffers from not having enough cpu.
  3. Check your punchlet code, you may have kept some debug code .
  4. Check if you have tuple failures on your punchline:
    • Connect to the Storm UI
    • Click on the punchline hosting your punchlet
    • On the section Bolts and on the line matching your component (punch_bolt for example) check the Failed value (corresponding to parsing errors). If this value is important, it may be a problem of error processing in your punchlet. Errors follow a different path in your punchlines (i.e. a different stream). The performance with many errors is possibly different than without.
  5. Check the max.spout.pending (through the storm UI or at the end of the punchline file).
    • The value must have the same order of height that the number of EPS. (WARNING: this setting is by input node). It is a typical tuning of punch ltr_out punchlines.