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

caught a memory assertion on an order by

    XMLWordPrintableJSON

Details

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

    Description

      #Wed Nov 12 13:06:45 EST 2014
      git.commit.id.abbrev=1e21045

      The following query on a 1 million row data caused a memory assertion.

      0: jdbc:drill:schema=dfs> select columns[0], columns[1], columns[2] from `aggregate_1m.csv` order by cast(columns[0] as int);
      --------------------------------

      EXPR$0 EXPR$1 EXPR$2

      --------------------------------
      Query failed: Failure while running fragment.[ 7bc42b6c-c00a-41c2-af43-331655e5a178 on qa-node119.qa.lab:31010 ]

      java.lang.RuntimeException: java.sql.SQLException: Failure while executing query.
      at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2514)
      at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2148)
      at sqlline.SqlLine.print(SqlLine.java:1809)

      The same query adding a limit (say limit 100) worked. Here is the assertion stack in drill bit log:

      2014-11-12 15:16:22,864 [f89183d7-f94d-4ece-818f-8e597859d529:frag:0:0] WARN o.a.d.e.w.fragment.FragmentExecutor - Error while initializing or executing fragment
      java.lang.AssertionError: null
      at org.apache.drill.exec.memory.AtomicRemainder.get(AtomicRemainder.java:126) ~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
      at org.apache.drill.exec.memory.AtomicRemainder.forceGet(AtomicRemainder.java:85) ~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
      at org.apache.drill.exec.memory.Accountor.forceAdditionalReservation(Accountor.java:142) ~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
      at org.apache.drill.exec.memory.Accountor.transferTo(Accountor.java:111) ~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
      at io.netty.buffer.DrillBuf.transferAccounting(DrillBuf.java:182) ~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:4.0.24.Final]
      at org.apache.drill.exec.memory.TopLevelAllocator$ChildAllocator.takeOwnership(TopLevelAllocator.java:192) ~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.xsort.ExternalSortBatch.takeOwnership(ExternalSortBatch.java:464) ~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]

      Attachments

        1. DRILL-1700.patch
          1 kB
          Parth Chandra

        Activity

          People

            cchang@maprtech.com Chun Chang
            cchang@maprtech.com Chun Chang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: