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

Report-error-and-die may not kill the worker

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 0.10.0, 1.0.0, 2.0.0
    • Fix Version/s: 2.0.0, 0.10.2, 1.0.2, 1.1.0
    • Component/s: storm-core
    • Labels:
      None

      Description

      The report-error-and-die function in executor.clj calls report-error, which can throw exceptions if Curator runs into any kind of trouble while registering the error. I suspect this may happen with network errors, but it can also happen if two executors for the same component throw exceptions at the same time and no errors have been registered for the component previously. This is because both calls to report-error-and-die update the lastErrorPath, and ZkStateStorage set_data doesn't catch the potential NodeExistsException that may be thrown from the create call.

      If an exception is thrown from report-error, the suicide-fn is never called, and the worker keeps running sans the crashed executor.

        Attachments

          Activity

            People

            • Assignee:
              Srdo Stig Rohde Døssing
              Reporter:
              Srdo Stig Rohde Døssing
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: