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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 0.10.0, 1.0.0, 2.0.0
    • 2.0.0, 0.10.2, 1.0.2, 1.1.0
    • storm-core
    • 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

            srdo Stig Rohde Døssing
            srdo Stig Rohde Døssing
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: