Skip to content

Troubleshooting Punchlet slow processing

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

  1. Check there is a backlog in front of your topology hosting your punchlet. If there is no backlog, do not investigate further, your topology has just not enough data to process.
  2. On Storm UI check capacity of your PunchBolt component:
    • Connect to Storm UI
    • Click on topology hosting your PunchBolt component
    • On section Bolts and on line matching your component (punch_bolt for example) check capacity value. If value is near of 1 or higher, your component is indeed too slow.
  3. Check your punchlet code, you may have kept some debug code .
  4. Check if you have fails on your topology:
    • Connect to Storm UI
    • Click on topology hosting your PunchBolt component
    • On section Bolts and on line matching your component, check Failed value (corresponding to parsing errors). If this value is important, it may be a problem of errors processing: a specific component (exception_handler bolt) is responsible of errors processing and may be under-scaled regarding number of parsing components. Typically if you have many errors you will need as many exception_handler components as parsing components (punch_bolt). Please increase its number of executors (in your topology configuration).
  5. Check the max.spout.pending (through the storm UI or at the end of the topology json file).
    • The value must have the same order of height that the number of EPS. (WARNING: this settings is by spout). It\'s a typical tunning of ltr_out topology.