You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Muhammad Gelbana (JIRA)" <ji...@apache.org> on 2017/08/12 01:07:00 UTC

[jira] [Commented] (DRILL-4398) SYSTEM ERROR: IllegalStateException: Memory was leaked by query

    [ https://issues.apache.org/jira/browse/DRILL-4398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16124376#comment-16124376 ] 

Muhammad Gelbana commented on DRILL-4398:
-----------------------------------------

Thanks [~zfong] for the response. I'll open a new issue shortly.
{noformat}
Fragment 0:0

[Error Id: 0403a63e-86cc-428e-929b-e8dcd561a6bf on iWebStitchFixDev:31010]
        at org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543)
        at org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:293)
        at org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:160)
        at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:262)
        at org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.drill.exec.rpc.ChannelClosedException: Channel closed /72.55.136.6:31010 <--> /72.55.136.6:40834.
        at org.apache.drill.exec.rpc.RpcBus$ChannelClosedHandler.operationComplete(RpcBus.java:166)
        at org.apache.drill.exec.rpc.RpcBus$ChannelClosedHandler.operationComplete(RpcBus.java:146)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:603)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:563)
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:406)
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82)
        at io.netty.channel.AbstractChannel$CloseFuture.setClosed(AbstractChannel.java:943)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:592)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:584)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.close(DefaultChannelPipeline.java:1099)
        at io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:615)
        at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:600)
        at io.netty.channel.ChannelOutboundHandlerAdapter.close(ChannelOutboundHandlerAdapter.java:71)
        at io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:615)
        at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:600)
        at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:466)
        at io.netty.handler.timeout.ReadTimeoutHandler.readTimedOut(ReadTimeoutHandler.java:187)
        at org.apache.drill.exec.rpc.BasicServer$LogggingReadTimeoutHandler.readTimedOut(BasicServer.java:121)
        at io.netty.handler.timeout.ReadTimeoutHandler$ReadTimeoutTask.run(ReadTimeoutHandler.java:212)
        at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38)
        at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:120)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
        ... 1 more
        Suppressed: org.apache.drill.exec.rpc.RpcException: Failure sending message.
                at org.apache.drill.exec.rpc.RpcBus.send(RpcBus.java:126)
                at org.apache.drill.exec.rpc.user.UserServer$UserClientConnectionImpl.sendData(UserServer.java:285)
                at org.apache.drill.exec.ops.AccountingUserConnection.sendData(AccountingUserConnection.java:42)
                at org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:118)
                at org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:94)
                at org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:232)
                at org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:226)
                at java.security.AccessController.doPrivileged(Native Method)
                at javax.security.auth.Subject.doAs(Subject.java:422)
                at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
                at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:226)
                at org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                ... 1 more
        Caused by: java.lang.IllegalArgumentException: Attempted to send a message when connection is no longer valid.
                at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122)
                at org.apache.drill.exec.rpc.RequestIdMap.createNewRpcListener(RequestIdMap.java:88)
                at org.apache.drill.exec.rpc.RemoteConnection.createNewRpcListener(RemoteConnection.java:147)
                at org.apache.drill.exec.rpc.RpcBus.send(RpcBus.java:119)
                ... 14 more
        Suppressed: java.lang.IllegalStateException: Memory was leaked by query. Memory leaked: (4194304)
Allocator(op:0:0:0:Screen) 1000000/4194304/12582912/10000000000 (res/actual/peak/limit)

                at org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:492)
                at org.apache.drill.exec.ops.OperatorContextImpl.close(OperatorContextImpl.java:141)
                at org.apache.drill.exec.ops.FragmentContext.suppressingClose(FragmentContext.java:422)
                at org.apache.drill.exec.ops.FragmentContext.close(FragmentContext.java:411)
                at org.apache.drill.exec.work.fragment.FragmentExecutor.closeOutResources(FragmentExecutor.java:318)
                at org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:155)
                at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:262)
                at org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                ... 1 more
        Suppressed: java.lang.IllegalStateException: Memory was leaked by query. Memory leaked: (4194304)
Allocator(frag:0:0) 3000000/4194304/1511949440/30000000000 (res/actual/peak/limit)

                at org.apache.drill.exec.memory.BaseAllocator.close(BaseAllocator.java:492)
                at org.apache.drill.exec.ops.FragmentContext.suppressingClose(FragmentContext.java:422)
                at org.apache.drill.exec.ops.FragmentContext.close(FragmentContext.java:416)
                at org.apache.drill.exec.work.fragment.FragmentExecutor.closeOutResources(FragmentExecutor.java:318)
                at org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:155)
                at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:262)
                at org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                ... 1 more
[Client-1] INFO org.apache.drill.exec.rpc.ProtobufLengthDecoder - Channel is closed, discarding remaining 248039 byte(s) in buffer.
{noformat}

> SYSTEM ERROR: IllegalStateException: Memory was leaked by query
> ---------------------------------------------------------------
>
>                 Key: DRILL-4398
>                 URL: https://issues.apache.org/jira/browse/DRILL-4398
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Storage - JDBC
>    Affects Versions: 1.5.0
>            Reporter: N Campbell
>            Assignee: Taras Supyk
>
> Several queries fail with memory leaked errors
> select tjoin2.rnum, tjoin1.c1, tjoin2.c1 as c1j2, tjoin2.c2 as c2j2 from postgres.public.tjoin1 full outer join postgres.public.tjoin2 on tjoin1.c1 = tjoin2.c1
> select tjoin1.rnum, tjoin1.c1, tjoin2.c1 as c1j2, tjoin2.c2 from postgres.public.tjoin1, lateral ( select tjoin2.c1, tjoin2.c2 from postgres.public.tjoin2 where tjoin1.c1=tjoin2.c1) tjoin2
> SYSTEM ERROR: IllegalStateException: Memory was leaked by query. Memory leaked: (40960)
> Allocator(op:0:0:3:JdbcSubScan) 1000000/40960/135168/10000000000 (res/actual/peak/limit)
> create table TJOIN1 (RNUM integer   not null , C1 integer, C2 integer);
> insert into TJOIN1 (RNUM, C1, C2) values ( 0, 10, 15);
> insert into TJOIN1 (RNUM, C1, C2) values ( 1, 20, 25);
> insert into TJOIN1 (RNUM, C1, C2) values ( 2, NULL, 50);
> create table TJOIN2 (RNUM integer   not null , C1 integer, C2 char(2));
> insert into TJOIN2 (RNUM, C1, C2) values ( 0, 10, 'BB');
> insert into TJOIN2 (RNUM, C1, C2) values ( 1, 15, 'DD');
> insert into TJOIN2 (RNUM, C1, C2) values ( 2, NULL, 'EE');
> insert into TJOIN2 (RNUM, C1, C2) values ( 3, 10, 'FF');



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)