Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
While debugging another issue wrote a simple jdbc program to keep submitting queries to drill using JDBC string:
jdbc:drill:schema=dfs;zk=10.10.100.171:5181,10.10.100.172:5181,10.10.100.173:5181
After around 400 successful queries the drillbit starts throwing exceptions and failing.
Using sqlline to execute a query returns the same error.
org.apache.drill.exec.memory.OutOfMemoryException: You attempted to create a new child allocator with initial reservation 20000000 but only 9934592 bytes of memory were available.
org.apache.drill.exec.memory.TopLevelAllocator.getChildAllocator(TopLevelAllocator.java:68) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
org.apache.drill.exec.ops.FragmentContext.<init>(FragmentContext.java:81) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
org.apache.drill.exec.work.foreman.QueryManager.runFragments(QueryManager.java:87) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
org.apache.drill.exec.work.foreman.Foreman.runPhysicalPlan(Foreman.java:338) [drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:366) [drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:176) [drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]
java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]