Uploaded image for project: 'HPCC'
  1. HPCC
  2. HPCC-24469

WorkflowExceptions cause regression tests to fail unpredictably

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 7.10.8
    • Component/s: Roxie
    • Labels:
      None

      Description

      For ECL queries that FAIL

      Any WorkflowException is reported twice: once before workunit state is set to failed, once after workunit state is set to failed.

      After the workunit is updated with the failed state, the regression tests complete. Roxie may not have had enough time to add the second exception.

      This means that ./ecl-test run has tests failing in an unpredictable manner, depending on how quickly the second exception is added to the workunit.

       

      A Possible solution to this problem is: Don't report exceptions twice.

          • The exact locations of the relevant function calls in roxie are:

      ccdlistener.cpp *line 1263 calls the function process() defined in *ccdcontext.cpp

          ccdcontext.cpp line 2811 adds the exception

      ccdlistener.cpp line 1273 sets the workunit state to failed

      ccdlistener.cpp line 1279 adds the second exception to the workunit (but the regression test may have already finished). This function call also sets the workunit state to failed, a second time.

       

      An example of a regression test that this affected can be found at

      https://gist.github.com/HPCCSmoketest/fa8969c747af75afd836cc638cf0dfa3#file-workflow_failure_2-parallel-false-w20200721-184616-log

        Attachments

          Activity

            People

            • Assignee:
              ghalliday Gavin Halliday
              Reporter:
              Nathan Halliday Nathan Halliday
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: