[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15959372#comment-15959372 ] Khurram Faraaz commented on DRILL-4847: --- [~zfong] Let us keep it Open for now. Once DRILL-5268 is Fixed we can close this one too. > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Assignee: Paul Rogers >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.cloneAndTransfer(VectorContainer.java:204) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.getTransferClone(VectorContainer.java:157) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.physical.impl.xsort.ExternalSortBatch.mergeAndSpill(ExternalSortBatch.java:569) > ~[drill-java-exe
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15959354#comment-15959354 ] Zelaine Fong commented on DRILL-4847: - [~khfaraaz] - I would keep the issue open until the new error is resolved, so we have a way of tracking that new error. Or you could close this issue and open a new one to track the new error. > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Assignee: Paul Rogers >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.cloneAndTransfer(VectorContainer.java:204) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.getTransferClone(VectorContainer.java:157) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exe
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15959335#comment-15959335 ] Khurram Faraaz commented on DRILL-4847: --- [~paul-rogers] and [~zfong] Now that we do not see the OOM with the "new" "managed" sort, should we mark this JIRA as fixed or should we wait ? > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Assignee: Paul Rogers >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.cloneAndTransfer(VectorContainer.java:204) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.getTransferClone(VectorContainer.java:157) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.physical.impl.xsort.ExternalSortBatch.mergeAn
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15958366#comment-15958366 ] Paul Rogers commented on DRILL-4847: Yes, you are hitting a known bug in the managed sort. A PR has been posted for some time to fix this. Specifically, the code that computes row size incorrectly hands maps. Sorry you had to hit this one! > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Assignee: Paul Rogers >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.cloneAndTransfer(VectorContainer.java:204) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.getTransferClone(VectorContainer.java:157) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.dr
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15958355#comment-15958355 ] Khurram Faraaz commented on DRILL-4847: --- [~paul-rogers] Setting both the boot option and the system option gives different result, we do not see an OOM, instead we see UnsupportedOperationException: Unable to get size for minor type [MAP] and mode [REQUIRED] Set sort.external.disable_managed to false in drill-override.conf {noformat} drill.exec: { cluster-id: "rahul-cluster-drillbits", zk.connect: "10.10.100.183:5181", sort.external.disable_managed: false, zk.root:"drill-build"} {noformat} {noformat} apache drill 1.11.0-SNAPSHOT "a drill in the hand is better than two in the bush" 0: jdbc:drill:schema=dfs.tmp> ALTER SESSION SET `exec.sort.disable_managed` = false; +---+-+ | ok | summary | +---+-+ | true | exec.sort.disable_managed updated. | +---+-+ 1 row selected (0.804 seconds) 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, postalcd, provincecd, provincename, postalcode_json, country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3; Error: SYSTEM ERROR: UnsupportedOperationException: Unable to get size for minor type [MAP] and mode [REQUIRED] Fragment 0:0 [Error Id: 01ed39fc-04c8-499d-a000-8e4fdcd548f4 on centos-01.qa.lab:31010] (state=,code=0) {noformat} Stack trace from drillbit.log {noformat} 2017-04-06 05:47:10,129 [271a29a4-02a2-0c53-31de-68f14137a859:frag:0:0] ERROR o.a.d.e.w.fragment.FragmentExecutor - SYSTEM ERROR: UnsupportedOperationException: Unable to get size for minor type [MAP] and mode [REQUIRED] Fragment 0:0 [Error Id: 01ed39fc-04c8-499d-a000-8e4fdcd548f4 on centos-01.qa.lab:31010] org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: UnsupportedOperationException: Unable to get size for minor type [MAP] and mode [REQUIRED] Fragment 0:0 [Error Id: 01ed39fc-04c8-499d-a000-8e4fdcd548f4 on centos-01.qa.lab:31010] at org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:544) ~[drill-common-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:293) [drill-java-exec-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:160) [drill-java-exec-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:262) [drill-java-exec-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) [drill-common-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_91] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_91] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91] Caused by: java.lang.UnsupportedOperationException: Unable to get size for minor type [MAP] and mode [REQUIRED] at org.apache.drill.exec.expr.BasicTypeHelper.getSize(BasicTypeHelper.java:171) ~[vector-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.physical.impl.spill.RecordBatchSizer$ColumnSize.(RecordBatchSizer.java:72) ~[drill-java-exec-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.physical.impl.spill.RecordBatchSizer.measureColumn(RecordBatchSizer.java:203) ~[drill-java-exec-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.physical.impl.spill.RecordBatchSizer.(RecordBatchSizer.java:165) ~[drill-java-exec-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.physical.impl.xsort.managed.ExternalSortBatch.analyzeIncomingBatch(ExternalSortBatch.java:930) ~[drill-java-exec-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.physical.impl.xsort.managed.ExternalSortBatch.processBatch(ExternalSortBatch.java:821) ~[drill-java-exec-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.physical.impl.xsort.managed.ExternalSortBatch.loadBatch(ExternalSortBatch.java:618) ~[drill-java-exec-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.physical.impl.xsort.managed.ExternalSortBatch.load(ExternalSortBatch.java:660) ~[drill-java-exec-1.11.0-SNAPSHOT.jar:1.11.0-SNAPSHOT] at org.apache.drill.exec.physical.impl.xsort.managed.ExternalSortBatch.innerNext(ExternalSortBatch.java:559) ~[drill-java-exec-1.11.0-SNAPSHOT.j
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15957187#comment-15957187 ] Paul Rogers commented on DRILL-4847: If the software is in the code (using the correct branch?) and the settings are correct, it should work. Note that you have to enable the sort both in the config file AND as a session option. The session option has no effect if the sort is turned off at the config level. This was a safety feature in 1.10, to be removed at some future time. > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Assignee: Paul Rogers >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.cloneAndTransfer(VectorContainer.java:204) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.Ve
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15957024#comment-15957024 ] Zelaine Fong commented on DRILL-4847: - [~khfaraaz] - those lines, I believe, are still the current sort. [~paul-rogers] - any idea why the old sort is still being used even though Khurram is using the new, managed sort? Are there places where the planner is still generating plans using the old sort even with the new setting? > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Assignee: Paul Rogers >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.cloneAndTransfer(VectorContainer.java:204) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.getTransferClone(VectorContainer.java:
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15956321#comment-15956321 ] Khurram Faraaz commented on DRILL-4847: --- [~zelaine] Here is the stack trace from drillbit.log, didn't share it earlier because there was no xsort.managed.ExternalSortBatch present in the stack trace or anywhere else in the drillbit.log. We do see these two lines in the stack trace, is this from the managed external sort ? xsort.ExternalSortBatch.mergeAndSpill(ExternalSortBatch.java:584) xsort.ExternalSortBatch.innerNext(ExternalSortBatch.java:428) {noformat} 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, postalcd, provincecd, provincename, postalcode_json, country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3; Error: RESOURCE ERROR: One or more nodes ran out of memory while executing the query. Failure while allocating buffer. Fragment 0:0 [Error Id: 757f5f08-b02c-4176-870c-d4ed61f1a769 on centos-01.qa.lab:31010] (state=,code=0) {noformat} {noformat} 2017-04-05 05:17:27,473 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.drill.exec.work.foreman.Foreman - Query text for query id 271b8218-1dec-392b-e82f-e856b7db232e: SELECT clientname, audiencekey, spendprofileid, postalcd, provincecd, provincename, postalcode_json, country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 2017-04-05 05:17:27,558 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-04-05 05:17:27,558 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-04-05 05:17:27,558 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-04-05 05:17:27,558 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-04-05 05:17:27,558 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-04-05 05:17:27,558 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-04-05 05:17:27,558 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-04-05 05:17:27,558 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-04-05 05:17:27,566 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.parquet.Metadata - Took 0 ms to get file statuses 2017-04-05 05:17:27,569 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.parquet.Metadata - Fetch parquet metadata: Executed 1 out of 1 using 1 threads. Time: 2ms total, 2.823541ms avg, 2ms max. 2017-04-05 05:17:27,569 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.parquet.Metadata - Fetch parquet metadata: Executed 1 out of 1 using 1 threads. Earliest start: 0.535000 μs, Latest start: 0.535000 μs, Average start: 0.535000 μs . 2017-04-05 05:17:27,569 [271b8218-1dec-392b-e82f-e856b7db232e:foreman] INFO o.a.d.exec.store.parquet.Metadata - Took 2 ms to read file metadata 2017-04-05 05:17:27,681 [271b8218-1dec-392b-e82f-e856b7db232e:frag:0:0] INFO o.a.d.e.w.fragment.FragmentExecutor - 271b8218-1dec-392b-e82f-e856b7db232e:0:0: State change requested AWAITING_ALLOCATION --> RUNNING 2017-04-05 05:17:27,681 [271b8218-1dec-392b-e82f-e856b7db232e:frag:0:0] INFO o.a.d.e.w.f.FragmentStatusReporter - 271b8218-1dec-392b-e82f-e856b7db232e:0:0: State to report: RUNNING 2017-04-05 05:17:27,776 [271b8218-1dec-392b-e82f-e856b7db232e:frag:0:0] INFO o.a.d.e.p.i.xsort.ExternalSortBatch - Merging and spilling to /tmp/drill/spill/271b8218-1dec-392b-e82f-e856b7db232e_majorfragment0_minorfragment0_operator8/0 2017-04-05 05:17:27,800 [271b8218-1dec-392b-e82f-e856b7db232e:frag:0:0] INFO o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to /tmp/drill/spill/271b8218-1dec-392b-e82f-e856b7db232e_majorfragment0_minorfragment0_operator8/0 2017-04-05 05:17:27,818 [271b8218-1dec-392b-e82f-e856b7db232e:frag:0:0] INFO o.a.d.e.p.i.xsort.ExternalSortBatch - Merging and spilling to /tmp/drill/spill/271b8218-1dec-392b-e82f-e856b7db232e_majorfragment0_minorfragment0_
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15955512#comment-15955512 ] Zelaine Fong commented on DRILL-4847: - [~khfaraaz] - There should be a stack trace, and the stack trace should tell us where the OOM is being thrown. You only included one line in your comment. Surely, there's more information in the drillbit log? > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Assignee: Paul Rogers >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.cloneAndTransfer(VectorContainer.java:204) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.getTransferClone(VectorContainer.java:157) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15955507#comment-15955507 ] Khurram Faraaz commented on DRILL-4847: --- [~zelaine] We se the same OOM after setting the config option, like [~paul-rogers] mentioned there are no entries in drillbit.log to confirm that the new managed sort was used in this scenario. {noformat} org.apache.drill.exec.physical.impl.xsort.managed.ExternalSortBatch. {noformat} Drill 1.11.0 git commit : adbf363 {noformat} 0: jdbc:drill:schema=dfs.tmp> ALTER SYSTEM SET `exec.sort.disable_managed` = false; +---+-+ | ok | summary | +---+-+ | true | exec.sort.disable_managed updated. | +---+-+ 1 row selected (0.159 seconds) 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, postalcd, provincecd, provincename, postalcode_json, country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3; Error: RESOURCE ERROR: One or more nodes ran out of memory while executing the query. Failure while allocating buffer. Fragment 0:0 [Error Id: 9d70562d-9baf-484e-8d79-1dc117aef6ee on centos-01.qa.lab:31010] (state=,code=0) {noformat} > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Assignee: Paul Rogers >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCha
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15955225#comment-15955225 ] Zelaine Fong commented on DRILL-4847: - [~khfaraaz]- any luck trying to reproduce this with the new, managed sort? > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Assignee: Paul Rogers >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.cloneAndTransfer(VectorContainer.java:204) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.getTransferClone(VectorContainer.java:157) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.physical.impl.xsort.ExternalSortBatch.mergeAndSpill(ExternalSortBatch.java:569) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15945938#comment-15945938 ] Paul Rogers commented on DRILL-4847: [~khfaraaz], turns out the above still uses the "old" "unmanaged" sort, not the "new" "managed" sort introduced in Drill 1.10. The managed sort is disabled by default. To enable the managed sort, you can either change the boot configuration: {code} drill.exec.sort.external.disable_managed = false {code} Or, you can make the setting at run time: {code} ALTER SESSION SET `exec.sort.disable_managed` = false {code} You'll know you've got it turned on if you look in the log file and see log entries for {{org.apache.drill.exec.physical.impl.xsort.managed.ExternalSortBatch}}. > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Assignee: Paul Rogers >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15944548#comment-15944548 ] Khurram Faraaz commented on DRILL-4847: --- [~zelaine] Tried with the new external sort, OOM still exists on Apache Drill 1.11.0 commit id: adbf363 {noformat} apache drill 1.11.0-SNAPSHOT "a drill in the hand is better than two in the bush" 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, postalcd, provincecd, provincename, postalcode_json, country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3; Error: RESOURCE ERROR: One or more nodes ran out of memory while executing the query. Failure while allocating buffer. Fragment 0:0 [Error Id: 6e2ab7f6-ab80-44a7-a053-2d286a2d54f2 on centos-01.qa.lab:31010] (state=,code=0) 0: jdbc:drill:schema=dfs.tmp> ALTER SESSION SET `exec.sort.disable_managed` = false; +---+-+ | ok | summary | +---+-+ | true | exec.sort.disable_managed updated. | +---+-+ 1 row selected (0.149 seconds) 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, postalcd, provincecd, provincename, postalcode_json, country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3; Error: RESOURCE ERROR: One or more nodes ran out of memory while executing the query. Failure while allocating buffer. Fragment 0:0 [Error Id: 05262a48-58c0-44b7-b27f-3dd80c42754c on centos-01.qa.lab:31010] (state=,code=0) {noformat} Details from drillbit.log {noformat} 2017-03-28 04:56:36,062 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.drill.exec.work.foreman.Foreman - Query text for query id 272612fa-b7b4-bb93-3ddc-808d87156869: SELECT clientname, audiencekey, spendprofileid, postalcd, provincecd, provincename, postalcode_json, country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 2017-03-28 04:56:36,159 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-03-28 04:56:36,160 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-03-28 04:56:36,160 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-03-28 04:56:36,160 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-03-28 04:56:36,160 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-03-28 04:56:36,160 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-03-28 04:56:36,160 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-03-28 04:56:36,160 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.dfs.FileSelection - FileSelection.getStatuses() took 0 ms, numFiles: 1 2017-03-28 04:56:36,177 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.parquet.Metadata - Took 0 ms to get file statuses 2017-03-28 04:56:36,182 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.parquet.Metadata - Fetch parquet metadata: Executed 1 out of 1 using 1 threads. Time: 5ms total, 5.223963ms avg, 5ms max. 2017-03-28 04:56:36,183 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.parquet.Metadata - Fetch parquet metadata: Executed 1 out of 1 using 1 threads. Earliest start: 1.595000 μs, Latest start: 1.595000 μs, Average start: 1.595000 μs . 2017-03-28 04:56:36,183 [272612fa-b7b4-bb93-3ddc-808d87156869:foreman] INFO o.a.d.exec.store.parquet.Metadata - Took 5 ms to read file metadata 2017-03-28 04:56:36,383 [272612fa-b7b4-bb93-3ddc-808d87156869:frag:0:0] INFO o.a.d.e.w.fragment.FragmentExecutor - 272612fa-b7b4-bb93-3ddc-808d87156869:0:0: State change requested AWAITING_ALLOCATION --> RUNNING 2017-03-28 04:56:36,384 [272612fa-b7b4-bb93-3ddc-808d87156869:frag:0:0] INFO o.a.d.e.w.f.FragmentStatusReporter - 272612fa-b7b4-bb93-3ddc-808d8
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15944225#comment-15944225 ] Zelaine Fong commented on DRILL-4847: - OOM is coming from external sort, not the window function. [~khfaraaz] - can you try this with the new external sort to see if this is still an issue. To enable the new sort, run ALTER SESSION SET `exec.sort.disable_managed` = false; > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.cloneAndTransfer(VectorContainer.java:204) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.getTransferClone(VectorContainer.java:157) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.dr
[jira] [Commented] (DRILL-4847) Window function query results in OOM Exception.
[ https://issues.apache.org/jira/browse/DRILL-4847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15433315#comment-15433315 ] Khurram Faraaz commented on DRILL-4847: --- Adding comment from email thread, planner.width.max_per_node is related to # of cores/node. That's why it could be node-specific. the OOM reported here is seen on certain machines with a certain number of cores and the same query executes fine on another node that has a different number of cores. > Window function query results in OOM Exception. > --- > > Key: DRILL-4847 > URL: https://issues.apache.org/jira/browse/DRILL-4847 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow >Affects Versions: 1.8.0 > Environment: 4 node cluster CentOS >Reporter: Khurram Faraaz >Priority: Critical > Labels: window_function > Attachments: drillbit.log > > > Window function query results in OOM Exception. > Drill version 1.8.0-SNAPSHOT git commit ID: 38ce31ca > MapRBuildVersion 5.1.0.37549.GA > {noformat} > 0: jdbc:drill:schema=dfs.tmp> SELECT clientname, audiencekey, spendprofileid, > postalcd, provincecd, provincename, postalcode_json, country_json, > province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER (PARTITION BY > spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 ELSE 0 END) ASC, > provincecd ASC) as rn FROM `MD593.parquet` limit 3; > Error: RESOURCE ERROR: One or more nodes ran out of memory while executing > the query. > Failure while allocating buffer. > Fragment 0:0 > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-08-16 07:25:44,590 [284d4006-9f9d-b893-9352-4f54f9b1d52a:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 284d4006-9f9d-b893-9352-4f54f9b1d52a: SELECT clientname, audiencekey, > spendprofileid, postalcd, provincecd, provincename, postalcode_json, > country_json, province_json, town_json, dma_json, msa_json, ROW_NUMBER() OVER > (PARTITION BY spendprofileid ORDER BY (CASE WHEN postalcd IS NULL THEN 9 > ELSE 0 END) ASC, provincecd ASC) as rn FROM `MD593.parquet` limit 3 > ... > 2016-08-16 07:25:46,273 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.p.i.xsort.ExternalSortBatch - Completed spilling to > /tmp/drill/spill/284d4006-9f9d-b893-9352-4f54f9b1d52a_majorfragment0_minorfragment0_operator8/2 > 2016-08-16 07:25:46,283 [284d4006-9f9d-b893-9352-4f54f9b1d52a:frag:0:0] INFO > o.a.d.e.w.fragment.FragmentExecutor - User Error Occurred > org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: One or more > nodes ran out of memory while executing the query. > Failure while allocating buffer. > [Error Id: 2287fe71-f0cb-469a-a563-11580fceb1c5 ] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:242) > [drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_101] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_101] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] > Caused by: org.apache.drill.exec.exception.OutOfMemoryException: Failure > while allocating buffer. > at > org.apache.drill.exec.vector.NullableVarCharVector.allocateNew(NullableVarCharVector.java:187) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:331) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector$RepeatedMapTransferPair.(RepeatedMapVector.java:307) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.vector.complex.RepeatedMapVector.getTransferPair(RepeatedMapVector.java:161) > ~[vector-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.SimpleVectorWrapper.cloneAndTransfer(SimpleVectorWrapper.java:66) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.cloneAndTransfer(VectorContainer.java:204) > ~[drill-java-exec-1.8.0-SNAPSHOT.jar:1.8.0-SNAPSHOT] > at > org.apache.drill.exec.record.VectorContainer.getTransferClone(VectorContainer.java:157) > ~[drill-java-