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

Smart Join could spuriously hit assert in compact() if has spilt over to local smart join

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.4.0, 6.2.12
    • Component/s: Thor
    • Labels:

      Description

      Unlikely (but recently reported), if smart join spills after successfully gathering the whole RHS without spilling and tries to spill again, it releases one of the gathered row arrays.

      In the next stage when it is reading the gathered sets, which have all been flushed of non-local rows by this stage, it compacts the row arrays.
      In doing so, if it hit one of the flushed row arrays it hit assert :

      assertex(0 == firstRow && numRows == commitRows);

      Fix is to ensure that if flushed while global handling is still on, but after successful global rather, re-flush the row arrays.

        Attachments

          Activity

            People

            • Assignee:
              jakesmith Jake Smith
              Reporter:
              jakesmith Jake Smith
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: