Chun Chang created DRILL-4113:
---------------------------------
Summary: memory leak reported while handling query or shutting down
Key: DRILL-4113
URL: https://issues.apache.org/jira/browse/DRILL-4113
Project: Apache Drill
Issue Type: Bug
Affects Versions: 1.3.0, 1.4.0
Reporter: Chun Chang
Priority: Critical
With impersonation enabled, I've seen two memory leaks. One reported at query
time, one at shutdown.
At query time:
{noformat}
2015-11-17 19:11:03,595 [29b413b7-958e-c1f3-9d37-c34f96e7bf6a:foreman] INFO
o.a.drill.exec.work.foreman.Foreman - Query text for query id
29b413b7-958e-c1f3-9d37-c34f96e7bf6a: use `dfs.window_functions`
2015-11-17 19:11:03,666 [29b413b7-edbc-9722-120d-66ab3611f250:frag:0:0] INFO
o.a.d.e.w.fragment.FragmentExecutor - 29b413b7-edbc-9722-120d-66ab3611f250:0:0:
State change requested AWAITING_ALLOCATION --> RUNNING
2015-11-17 19:11:03,666 [29b413b7-edbc-9722-120d-66ab3611f250:frag:0:0] INFO
o.a.d.e.w.f.FragmentStatusReporter - 29b413b7-edbc-9722-120d-66ab3611f250:0:0:
State to report: RUNNING
2015-11-17 19:11:03,669 [29b413b7-edbc-9722-120d-66ab3611f250:frag:0:0] INFO
o.a.d.e.w.fragment.FragmentExecutor - 29b413b7-edbc-9722-120d-66ab3611f250:0:0:
State change requested RUNNING --> FAILED
2015-11-17 19:11:03,669 [29b413b7-edbc-9722-120d-66ab3611f250:frag:0:0] INFO
o.a.d.e.w.fragment.FragmentExecutor - 29b413b7-edbc-9722-120d-66ab3611f250:0:0:
State change requested FAILED --> FAILED
2015-11-17 19:11:03,669 [29b413b7-edbc-9722-120d-66ab3611f250:frag:0:0] INFO
o.a.d.e.w.fragment.FragmentExecutor - 29b413b7-edbc-9722-120d-66ab3611f250:0:0:
State change requested FAILED --> FINISHED
2015-11-17 19:11:03,674 [29b413b7-edbc-9722-120d-66ab3611f250:frag:0:0] ERROR
o.a.d.e.w.fragment.FragmentExecutor - SYSTEM ERROR: IllegalStateException:
Failure while closing accountor. Expected private and shared pools to be set
to initial values. However, one or more were not. Stats are
zone init allocated delta
private 1000000 738112 261888
shared 9999000000 9999261888 -261888.
Fragment 0:0
[Error Id: 6df67be9-69d4-4a3b-9eae-43ab2404c6d3 on drillats1.qa.lab:31010]
org.apache.drill.common.exceptions.UserException: SYSTEM ERROR:
IllegalStateException: Failure while closing accountor. Expected private and
shared pools to be set to initial values. However, one or more were not.
Stats are
zone init allocated delta
private 1000000 738112 261888
shared 9999000000 9999261888 -261888.
Fragment 0:0
[Error Id: 6df67be9-69d4-4a3b-9eae-43ab2404c6d3 on drillats1.qa.lab:31010]
at
org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:534)
~[drill-common-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:321)
[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:184)
[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:290)
[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
[drill-common-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[na:1.7.0_45]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
Caused by: java.lang.IllegalStateException: Failure while closing accountor.
Expected private and shared pools to be set to initial values. However, one or
more were not. Stats are
zone init allocated delta
private 1000000 738112 261888
shared 9999000000 9999261888 -261888.
at
org.apache.drill.exec.memory.AtomicRemainder.close(AtomicRemainder.java:199)
~[drill-memory-impl-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.memory.AccountorImpl.close(AccountorImpl.java:365)
~[drill-memory-impl-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.memory.TopLevelAllocator$ChildAllocator.close(TopLevelAllocator.java:326)
~[drill-memory-impl-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.ops.OperatorContextImpl.close(OperatorContextImpl.java:123)
~[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.ops.FragmentContext.suppressingClose(FragmentContext.java:437)
~[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.ops.FragmentContext.close(FragmentContext.java:426)
~[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.closeOutResources(FragmentExecutor.java:346)
[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:179)
[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
... 5 common frames omitted
2015-11-17 19:11:03,723 [CONTROL-rpc-event-queue] WARN
o.a.drill.exec.work.foreman.Foreman - Dropping request to move to COMPLETED
state as query is already at FAILED state (which is terminal).
2015-11-17 19:11:03,724 [CONTROL-rpc-event-queue] WARN
o.a.d.e.w.b.ControlMessageHandler - Dropping request to cancel fragment.
29b413b7-edbc-9722-120d-66ab3611f250:0:0 does not exist.
{noformat}
At shutdown:
{noformat}
Tue Nov 17 22:01:14 PST 2015 Terminating drillbit pid 32653
2015-11-17 22:01:14,569 [Drillbit-ShutdownHook#0] INFO
o.apache.drill.exec.server.Drillbit - Received shutdown request.
2015-11-17 22:01:15,559 [BitClient-2] INFO o.a.drill.exec.rpc.data.DataClient
- Channel closed /10.10.100.171:56037 <--> /10.10.100.172:31012.
2015-11-17 22:01:15,559 [BitServer-6] INFO
o.a.d.exec.rpc.control.ControlClient - Channel closed /10.10.100.171:47521 <-->
/10.10.100.172:31011.
2015-11-17 22:01:15,574 [BitClient-4] INFO o.a.drill.exec.rpc.data.DataClient
- Channel closed /10.10.100.171:59422 <--> /10.10.100.174:31012.
2015-11-17 22:01:15,575 [BitServer-2] INFO
o.a.d.exec.rpc.control.ControlClient - Channel closed /10.10.100.171:55874 <-->
/10.10.100.174:31011.
2015-11-17 22:01:15,582 [BitClient-3] INFO o.a.drill.exec.rpc.data.DataClient
- Channel closed /10.10.100.171:49728 <--> /10.10.100.173:31012.
2015-11-17 22:01:15,582 [BitServer-5] INFO
o.a.d.exec.rpc.control.ControlClient - Channel closed /10.10.100.171:43599 <-->
/10.10.100.173:31011.
2015-11-17 22:01:15,603 [BitClient-1] INFO o.a.drill.exec.rpc.data.DataClient
- Channel closed /10.10.100.171:56089 <--> /10.10.100.171:31012.
2015-11-17 22:01:15,603 [BitServer-3] INFO
o.a.d.exec.rpc.control.ControlClient - Channel closed /10.10.100.171:52294 <-->
/10.10.100.171:31011.
2015-11-17 22:01:16,610 [pool-1274-thread-1] INFO
o.a.drill.exec.rpc.user.UserServer - closed eventLoopGroup
io.netty.channel.epoll.EpollEventLoopGroup@44d08482 in 1005 ms
2015-11-17 22:01:16,610 [pool-1274-thread-2] INFO
o.a.drill.exec.rpc.data.DataServer - closed eventLoopGroup
io.netty.channel.epoll.EpollEventLoopGroup@1a10cc3c in 1007 ms
2015-11-17 22:01:16,610 [pool-1274-thread-1] INFO
o.a.drill.exec.service.ServiceEngine - closed userServer in 1009 ms
2015-11-17 22:01:16,610 [pool-1274-thread-2] INFO
o.a.drill.exec.service.ServiceEngine - closed dataPool in 1009 ms
2015-11-17 22:01:16,629 [Drillbit-ShutdownHook#0] WARN
o.apache.drill.exec.server.Drillbit - Failure on close(): {}
java.lang.RuntimeException: Exception while closing
at
org.apache.drill.common.DrillAutoCloseables.closeNoChecked(DrillAutoCloseables.java:46)
~[drill-common-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.server.BootStrapContext.close(BootStrapContext.java:127)
~[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:44)
~[drill-common-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:254)
[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.server.Drillbit$ShutdownThread.run(Drillbit.java:297)
[drill-java-exec-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
Caused by: java.lang.IllegalStateException: Failure while closing accountor.
Expected private and shared pools to be set to initial values. However, one or
more were not. Stats are
zone init allocated delta
private 0 0 0
shared 34359738368 34358000256 1738112.
at
org.apache.drill.exec.memory.AtomicRemainder.close(AtomicRemainder.java:199)
~[drill-memory-impl-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.memory.AccountorImpl.close(AccountorImpl.java:365)
~[drill-memory-impl-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.exec.memory.TopLevelAllocator.close(TopLevelAllocator.java:179)
~[drill-memory-impl-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
at
org.apache.drill.common.DrillAutoCloseables.closeNoChecked(DrillAutoCloseables.java:44)
~[drill-common-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT]
... 4 common frames omitted
2015-11-17 22:01:16,629 [Drillbit-ShutdownHook#0] INFO
o.apache.drill.exec.server.Drillbit - Shutdown completed (2059 ms).
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)