Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-4914

TestSpillStress makes flawed assumptions about running concurrently

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Impala 2.9.0
    • Fix Version/s: Impala 2.9.0
    • Component/s: Infrastructure
    • Labels:
      None

      Description

      I took a look at TestSpillStress and found a bunch of problems with it.

      1. It's not being run, because its workload isn't being run exhaustively
      2. It can't run, because it doesn't set up a client properly.
      3. It looks like it was intended to run in parallel fashion, but custom cluster tests don't run in parallel.

      The evidence for my claim of #3 is due to the fact that it uses the agg_stress workload, which says:

      # This query forces many joins and aggregations with spilling
      # and can expose race conditions in the spilling code if run in parallel
      

      1 and 2 could be fixed very quickly and were fixed at https://gerrit.cloudera.org/#/c/6002/

      3 is a different thing and requires some thought. We don't have any mechanism to run custom cluster tests in any sort of parallel way. All custom cluster tests are serial, even though they lack the serial mark. The reason this is the case is because most custom cluster tests involve restarting impalad on every method. We can't have methods run in parallel if they will be restarting on top of each other. As such, custom cluster tests are invoked differently than other e2e tests, and the invocation does not include -n, which causes tests to run in parallel.

        Attachments

          Activity

            People

            • Assignee:
              tarmstrong Tim Armstrong
              Reporter:
              mikesbrown Michael Brown
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: