Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-5900

Regression: TPCH query encounters random IllegalStateException: Memory was leaked by query

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 1.11.0
    • None
    • None

    Description

      This is a random failure in the TPCH-SF100-baseline run. The test is /root/drillAutomation/framework-master/framework/resources/Advanced/tpch/tpch_sf1/original/parquet/query17.sql. This test has passed before.

      TPCH query 6:

      SELECT
        SUM(L.L_EXTENDEDPRICE) / 7.0 AS AVG_YEARLY
      FROM
        lineitem L,
        part P
      WHERE
        P.P_PARTKEY = L.L_PARTKEY
        AND P.P_BRAND = 'BRAND#13'
        AND P.P_CONTAINER = 'JUMBO CAN'
        AND L.L_QUANTITY < (
          SELECT
            0.2 * AVG(L2.L_QUANTITY)
          FROM
            lineitem L2
          WHERE
            L2.L_PARTKEY = P.P_PARTKEY
        )
      

      Error is:

      2017-10-23 10:34:55,989 [2611d7c0-b0c9-a93e-c64d-a4ef8f4baf8f:frag:8:2] ERROR o.a.d.e.w.fragment.FragmentExecutor - SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (2097152)
      Allocator(op:8:2:6:ParquetRowGroupScan) 1000000/0/7675904/10000000000 (res/actual/peak/limit)
      
      
      Fragment 8:2
      
      [Error Id: f21a2560-7259-4e13-88c2-9bac29e2930a on atsqa6c88.qa.lab:31010]
      org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (2097152)
      Allocator(op:8:2:6:ParquetRowGroupScan) 1000000/0/7675904/10000000000 (res/actual/peak/limit)
      
      
      Fragment 8:2
      
      [Error Id: f21a2560-7259-4e13-88c2-9bac29e2930a on atsqa6c88.qa.lab:31010]
              at org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:586) ~[drill-common-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:298) [drill-java-exec-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:160) [drill-java-exec-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:267) [drill-java-exec-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) [drill-common-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_51]
              at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
      Caused by: java.lang.IllegalStateException: Memory was leaked by query. Memory leaked: (2097152)
      Allocator(op:8:2:6:ParquetRowGroupScan) 1000000/0/7675904/10000000000 (res/actual/peak/limit)
      
              at org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:519) ~[drill-memory-base-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at org.apache.drill.exec.ops.AbstractOperatorExecContext.close(AbstractOperatorExecContext.java:86) ~[drill-java-exec-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at org.apache.drill.exec.ops.OperatorContextImpl.close(OperatorContextImpl.java:108) ~[drill-java-exec-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at org.apache.drill.exec.ops.FragmentContext.suppressingClose(FragmentContext.java:435) ~[drill-java-exec-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at org.apache.drill.exec.ops.FragmentContext.close(FragmentContext.java:424) ~[drill-java-exec-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at org.apache.drill.exec.work.fragment.FragmentExecutor.closeOutResources(FragmentExecutor.java:324) [drill-java-exec-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              at org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:155) [drill-java-exec-1.12.0-SNAPSHOT.jar:1.12.0-SNAPSHOT]
              ... 5 common frames omitted
      2017-10-23 10:34:55,989 [2611d7c0-b0c9-a93e-c64d-a4ef8f4baf8f:frag:6:0] INFO  o.a.d.e.w.f.FragmentStatusReporter - 2611d7c0-b0c9-a93e-c64d-a4ef8f4baf8f:6:0: State to report: FINISHED
      

      sys.version is:
      1.12.0-SNAPSHOT b0c4e0486d6d4620b04a1bb8198e959d433b4840 DRILL-5876: Use openssl profile to include netty-tcnative dependency with the platform specific classifier 20.10.2017 @ 16:52:35 PDT

      The previous version that ran clean is this commit:

      1.12.0-SNAPSHOT	f1d1945b3772bb782039fd6811e34a7de66441c8	DRILL-5582: C++ Client: [Threat Modeling] Drillbit may be spoofed by an attacker and this may lead to data being written to the attacker's target instead of Drillbit	19.10.2017 @ 17:13:05 PDT
      

      But since the failure is random, the problem could have been introduced earlier.

      Attachments

        1. 2611d7c0-b0c9-a93e-c64d-a4ef8f4baf8f.sys.drill
          81 kB
          Robert Hou
        2. drillbit.log.node81
          60 kB
          Robert Hou
        3. drillbit.log.node88
          11 kB
          Robert Hou

        Activity

          People

            timothyfarkas Timothy Farkas
            rhou Robert Hou
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: