hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16635) RpcClient under heavy load leaks some netty bytebuf
Date Mon, 19 Sep 2016 05:44:20 GMT

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

ramkrishna.s.vasudevan commented on HBASE-16635:
------------------------------------------------

bq.The cleanupConnection does not need to throw Exception as the release method does not throw
any exception
I agree but generally in API signature for methods like connectionCleanup we generally add
throws clause. Hence did that. I can remove it.
bq.And we also need to override the disconnect method to release the ByteBuf buffered in queue.
Ok. so you mean all the ByteBuf in the queue has to removed in the disconnect and not this
particular wrapped byteBuf?


> RpcClient under heavy load leaks some netty bytebuf
> ---------------------------------------------------
>
>                 Key: HBASE-16635
>                 URL: https://issues.apache.org/jira/browse/HBASE-16635
>             Project: HBase
>          Issue Type: Bug
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Minor
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16635.patch
>
>
> Yet to analyse the actual root cause. 
> But the case is that when we run a PE tool with 50 threads under heavy load when the
writes are clogged I think we have some netty Bytebuf leak. Not sure if it is a serious issue
but we get this log
> {code}
> 2016-09-14 19:37:09,767 ERROR [Default-IPC-NioEventLoopGroup-1-16] util.ResourceLeakDetector:
LEAK: ByteBuf.release() was not called before it's garbage-collected. Enable advanced leak
reporting to find out where the leak occurred. To enable advanced leak reporting, specify
the JVM option '-Dio.netty.leakDetection.level=advanced' or call ResourceLeakDetector.setLevel()
See http://netty.io/wiki/reference-counted-objects.html for more information.
> {code}
> So reading the given link it is because of some ByteBuf that was not released properly
by the client and hence it gets GCed automatically. Netty provides tips and tricks to find
the root cause. Will get back here.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message