Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id EB221200B98 for ; Mon, 19 Sep 2016 07:25:23 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id E9C4C160AC3; Mon, 19 Sep 2016 05:25:23 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 34789160AD8 for ; Mon, 19 Sep 2016 07:25:23 +0200 (CEST) Received: (qmail 65199 invoked by uid 500); 19 Sep 2016 05:25:22 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 65059 invoked by uid 99); 19 Sep 2016 05:25:22 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Sep 2016 05:25:22 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id EDC462C0D5B for ; Mon, 19 Sep 2016 05:25:21 +0000 (UTC) Date: Mon, 19 Sep 2016 05:25:21 +0000 (UTC) From: "Duo Zhang (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-16635) RpcClient under heavy load leaks some netty bytebuf MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 19 Sep 2016 05:25:24 -0000 [ https://issues.apache.org/jira/browse/HBASE-16635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15502335#comment-15502335 ] Duo Zhang commented on HBASE-16635: ----------------------------------- The cleanupConnection does not need to throw Exception as the release method does not throw any exception. And you can use ReferenceCountUtil.safeRelease if you want to make sure there is no exception thrown. And for SaslWrapHandler, we need to release the ByteBuf create by calling queue.remove, not the wrapped ByteBuf. The wrapped ByteBuf will be released when actually writing out. And we also need to override the disconnect method to release the ByteBuf buffered in queue. Thanks. > 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)