[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16458157#comment-16458157 ] ASF GitHub Bot commented on DRILL-5927: --- Github user asfgit closed the pull request at: https://github.com/apache/drill/pull/1234 > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Labels: ready-to-commit > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) > [junit-rt.jar:na] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16455491#comment-16455491 ] ASF GitHub Bot commented on DRILL-5927: --- Github user parthchandra commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r184549758 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -45,21 +47,24 @@ import org.bson.BsonTimestamp; import org.bson.BsonWriter; import org.bson.types.ObjectId; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { - private static VectorContainerWriter writer; - private static TestOutputMutator mutator; - private static BsonRecordReader bsonReader; +public class TestBsonRecordReader { + private BufferAllocator allocator; + private VectorContainerWriter writer; + private TestOutputMutator mutator; + private BufferManager bufferManager; + private BsonRecordReader bsonReader; - @BeforeClass - public static void setUp() { -BufferAllocator bufferAllocator = getDrillbitContext().getAllocator(); -mutator = new TestOutputMutator(bufferAllocator); + @Before + public void setUp() { +allocator = new RootAllocator(Long.MAX_VALUE); --- End diff -- Any reason why you had to change to RootAllocator? Should not really be necessary. > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Labels: ready-to-commit > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453478#comment-16453478 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on the issue: https://github.com/apache/drill/pull/1234 @parthchandra Please let me know if you have any comments. > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Labels: ready-to-commit > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) > [junit-rt.jar:na] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16452212#comment-16452212 ] ASF GitHub Bot commented on DRILL-5927: --- Github user vrozov commented on the issue: https://github.com/apache/drill/pull/1234 LGTM > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) > [junit-rt.jar:na] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16451748#comment-16451748 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183956964 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -45,21 +46,24 @@ import org.bson.BsonTimestamp; import org.bson.BsonWriter; import org.bson.types.ObjectId; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { - private static VectorContainerWriter writer; - private static TestOutputMutator mutator; - private static BsonRecordReader bsonReader; +public class TestBsonRecordReader { + private BufferAllocator allocator; + private VectorContainerWriter writer; + private TestOutputMutator mutator; + private DrillBuf buffer; + private BsonRecordReader bsonReader; - @BeforeClass - public static void setUp() { -BufferAllocator bufferAllocator = getDrillbitContext().getAllocator(); -mutator = new TestOutputMutator(bufferAllocator); + @Before + public void setUp() { +allocator = new RootAllocator(400_000); --- End diff -- @vrozov Made the changes > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.jav
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16450459#comment-16450459 ] ASF GitHub Bot commented on DRILL-5927: --- Github user vrozov commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183865249 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -45,21 +46,24 @@ import org.bson.BsonTimestamp; import org.bson.BsonWriter; import org.bson.types.ObjectId; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { - private static VectorContainerWriter writer; - private static TestOutputMutator mutator; - private static BsonRecordReader bsonReader; +public class TestBsonRecordReader { + private BufferAllocator allocator; + private VectorContainerWriter writer; + private TestOutputMutator mutator; + private DrillBuf buffer; + private BsonRecordReader bsonReader; - @BeforeClass - public static void setUp() { -BufferAllocator bufferAllocator = getDrillbitContext().getAllocator(); -mutator = new TestOutputMutator(bufferAllocator); + @Before + public void setUp() { +allocator = new RootAllocator(400_000); --- End diff -- Two minor suggestions: - use `RootAllocator` with an unlimited amount of memory as limiting it to 400K does not test `BsonRecordReader` and depends more on how Vectors are allocated. - instead of working with `DrillBuf` directly, use `BufferManager`. > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16450407#comment-16450407 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on the issue: https://github.com/apache/drill/pull/1234 @vrozov addressed comments > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) > [junit-rt.jar:na] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16450403#comment-16450403 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183846974 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -272,6 +276,9 @@ public static void cleanUp() { } catch (Exception e) { } + +buffer.close(); --- End diff -- k thx > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) > [junit-r
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16450400#comment-16450400 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183846385 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -49,17 +50,20 @@ import org.junit.BeforeClass; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { +public class TestBsonRecordReader { + private static BufferAllocator allocator; --- End diff -- Initializing in Before and closing in After works. Changed the variables to be non static as well. > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.I
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16450397#comment-16450397 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183846152 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -49,17 +50,20 @@ import org.junit.BeforeClass; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { +public class TestBsonRecordReader { + private static BufferAllocator allocator; private static VectorContainerWriter writer; private static TestOutputMutator mutator; + private static DrillBuf buffer; private static BsonRecordReader bsonReader; @BeforeClass public static void setUp() { -BufferAllocator bufferAllocator = getDrillbitContext().getAllocator(); -mutator = new TestOutputMutator(bufferAllocator); +allocator = new RootAllocator(9_000_00); --- End diff -- After addressing review comments and recompiling I observed different behavoir. Now the tests pass with 400kb on the root allocator. But reducing it to 300kb causes an IOB. I have filed an issue here https://issues.apache.org/jira/browse/DRILL-6352 > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmocki
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16450068#comment-16450068 ] ASF GitHub Bot commented on DRILL-5927: --- Github user vrozov commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183779660 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -49,17 +50,20 @@ import org.junit.BeforeClass; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { +public class TestBsonRecordReader { + private static BufferAllocator allocator; private static VectorContainerWriter writer; private static TestOutputMutator mutator; + private static DrillBuf buffer; private static BsonRecordReader bsonReader; @BeforeClass public static void setUp() { -BufferAllocator bufferAllocator = getDrillbitContext().getAllocator(); -mutator = new TestOutputMutator(bufferAllocator); +allocator = new RootAllocator(9_000_00); --- End diff -- It does not sound right as there is not much data used in the test. I'd suggest filing a JIRA to look into why it takes 900 KB or almost 1 MB to hold data and using unlimited allocator (the same as before). > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runne
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16449936#comment-16449936 ] ASF GitHub Bot commented on DRILL-5927: --- Github user vrozov commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183747252 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -272,6 +276,9 @@ public static void cleanUp() { } catch (Exception e) { } + +buffer.close(); --- End diff -- IMO `close()` should be used within try-with-resources only (no explicit calls to `close()`). > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) > [junit-rt.jar:na] > at > com.intellij.r
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16449904#comment-16449904 ] ASF GitHub Bot commented on DRILL-5927: --- Github user vrozov commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183741516 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -49,17 +50,20 @@ import org.junit.BeforeClass; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { +public class TestBsonRecordReader { + private static BufferAllocator allocator; --- End diff -- What is a reason `allocator` and other variables are initialized in `@BeforeClass`? Can they be initialized in `@Before` instead? > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16449406#comment-16449406 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on the issue: https://github.com/apache/drill/pull/1234 @vrozov addressed comments > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) > [junit-rt.jar:na] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16449332#comment-16449332 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183611338 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -49,17 +50,20 @@ import org.junit.BeforeClass; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { +public class TestBsonRecordReader { + private static BufferAllocator allocator; private static VectorContainerWriter writer; private static TestOutputMutator mutator; + private static DrillBuf buffer; private static BsonRecordReader bsonReader; @BeforeClass public static void setUp() { -BufferAllocator bufferAllocator = getDrillbitContext().getAllocator(); -mutator = new TestOutputMutator(bufferAllocator); +allocator = new RootAllocator(100_000_000); --- End diff -- After testing just now, the lowest I could push this was 9,000,000 bytes. Going to 8,000,000 bytes causes an OOM. It looks like the BsonRecordReader allocates a bunch of value vectors. I will adjust this to 9,000,000. ``` org.apache.drill.exec.exception.OutOfMemoryException: Unable to allocate buffer of size 8192 due to memory limit (80). Current allocation: 795648 at org.apache.drill.exec.memory.BaseAllocator.buffer(BaseAllocator.java:236) at org.apache.drill.exec.memory.BaseAllocator.buffer(BaseAllocator.java:211) at org.apache.drill.exec.vector.UInt1Vector.reallocRaw(UInt1Vector.java:262) at org.apache.drill.exec.vector.UInt1Vector.reAlloc(UInt1Vector.java:251) at org.apache.drill.exec.vector.UInt1Vector$Mutator.setSafe(UInt1Vector.java:480) at org.apache.drill.exec.vector.NullableVarCharVector$Mutator.setSafe(NullableVarCharVector.java:608) at org.apache.drill.exec.vector.complex.impl.NullableVarCharWriterImpl.write(NullableVarCharWriterImpl.java:110) at org.apache.drill.exec.store.bson.BsonRecordReader.writeString(BsonRecordReader.java:276) at org.apache.drill.exec.store.bson.BsonRecordReader.writeBinary(BsonRecordReader.java:205) at org.apache.drill.exec.store.bson.BsonRecordReader.writeToListOrMap(BsonRecordReader.java:117) at org.apache.drill.exec.store.bson.BsonRecordReader.write(BsonRecordReader.java:75) at org.apache.drill.exec.store.bson.TestBsonRecordReader.testBinaryTypes(TestBsonRecordReader.java:244) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) ``` > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(A
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16449308#comment-16449308 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183608559 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -272,6 +276,9 @@ public static void cleanUp() { } catch (Exception e) { } + +buffer.close(); --- End diff -- Currently close() just calls release(). I will update to use release(), but in general what is the best practice regarding when to call close() and when to call release()? > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWi
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16449307#comment-16449307 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183608064 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -49,17 +50,20 @@ import org.junit.BeforeClass; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { +public class TestBsonRecordReader { + private static BufferAllocator allocator; --- End diff -- JUnit requires tests annotated with @BeforeClass and @AfterClass to be static so these variables have to be static. Currently the Drill unit tests do not support concurrent execution of methods within a test class within the same process. Drill has surefire launch multiple test processes and the the test classes to execute are divided among the test processes. Within each forked surefire process tests are executed sequentially, so this will not be an issue. > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [ju
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16449018#comment-16449018 ] ASF GitHub Bot commented on DRILL-5927: --- Github user vrozov commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183563218 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -49,17 +50,20 @@ import org.junit.BeforeClass; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { +public class TestBsonRecordReader { + private static BufferAllocator allocator; private static VectorContainerWriter writer; private static TestOutputMutator mutator; + private static DrillBuf buffer; private static BsonRecordReader bsonReader; @BeforeClass public static void setUp() { -BufferAllocator bufferAllocator = getDrillbitContext().getAllocator(); -mutator = new TestOutputMutator(bufferAllocator); +allocator = new RootAllocator(100_000_000); --- End diff -- Is it necessary to reserve 100MB for allocator? Does it allocate more than 1K? > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runner
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16449016#comment-16449016 ] ASF GitHub Bot commented on DRILL-5927: --- Github user vrozov commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183562766 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -272,6 +276,9 @@ public static void cleanUp() { } catch (Exception e) { } + +buffer.close(); --- End diff -- buffer.release()? > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16449017#comment-16449017 ] ASF GitHub Bot commented on DRILL-5927: --- Github user vrozov commented on a diff in the pull request: https://github.com/apache/drill/pull/1234#discussion_r183564004 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java --- @@ -49,17 +50,20 @@ import org.junit.BeforeClass; import org.junit.Test; -public class TestBsonRecordReader extends BaseTestQuery { +public class TestBsonRecordReader { + private static BufferAllocator allocator; --- End diff -- What is a reason to define `BufferAllocator` and other fields as static? What if tests are executed in parallel? > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > Fix For: 1.14.0 > > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.exec
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16446520#comment-16446520 ] ASF GitHub Bot commented on DRILL-5927: --- Github user ilooner commented on the issue: https://github.com/apache/drill/pull/1234 @parthchandra Please review > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) > [junit-rt.jar:na] > at > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) > [junit-rt.jar:na] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-5927) Root allocator consistently Leaks a buffer in unit tests
[ https://issues.apache.org/jira/browse/DRILL-5927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16446518#comment-16446518 ] ASF GitHub Bot commented on DRILL-5927: --- GitHub user ilooner opened a pull request: https://github.com/apache/drill/pull/1234 DRILL-5927: Fixed memory leak in TestBsonRecordReader, and sped up th… …e test. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ilooner/drill DRILL-5927 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/drill/pull/1234.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1234 commit 7d431e20c9cdb0038116131aecdc26a1f60e8775 Author: Timothy Farkas Date: 2018-04-20T23:52:59Z DRILL-5927: Fixed memory leak in TestBsonRecordReader, and sped up the test. > Root allocator consistently Leaks a buffer in unit tests > > > Key: DRILL-5927 > URL: https://issues.apache.org/jira/browse/DRILL-5927 > Project: Apache Drill > Issue Type: Bug >Reporter: Timothy Farkas >Assignee: Timothy Farkas >Priority: Minor > > TestBsonRecordReader consistently poduces this exception when running on my > laptop > {code} > 13:09:15.777 [main] ERROR o.a.d.exec.server.BootStrapContext - Error while > closing > java.lang.IllegalStateException: Allocator[ROOT] closed with outstanding > buffers allocated (1). > Allocator(ROOT) 0/1024/10113536/4294967296 (res/actual/peak/limit) > child allocators: 0 > ledgers: 1 > ledger[79] allocator: ROOT), isOwning: true, size: 1024, references: 1, > life: 340912804170064..0, allocatorManager: [71, life: 340912803759189..0] > holds 1 buffers. > DrillBuf[106], udle: [72 0..1024] > reservations: 0 > at > org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:502) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at > org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:256) > ~[classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76) > [classes/:na] > at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64) > [classes/:na] > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:205) > [classes/:na] > at org.apache.drill.BaseTestQuery.closeClient(BaseTestQuery.java:315) > [test-classes/:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_144] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_144] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > [junit-4.11.jar:na] > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > [junit-4.11.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > [junit-4.11.jar:na] > at > mockit.integration.junit4.internal.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:44) > [jmockit-1.3.jar:na] > at > mockit.integration.junit4.internal.MockFrameworkMethod.invokeExplosively(MockFrameworkMethod.java:29) > [jmockit-1.3.jar:na] > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_144] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144] > at > mockit.internal.util.MethodReflection.invokeWithCheckedThrows(MethodReflection.java:95) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.callMock(MockMethodBridge.java:76) > [jmockit-1.3.jar:na] > at > mockit.internal.annotations.MockMethodBridge.invoke(MockMethodBridge.java:41) > [jmockit-1.3.jar:na] > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java) > [junit-4.11.jar:na] > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at > com.intellij.junit4.JUnit4Idea