Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BA25910700 for ; Wed, 25 Feb 2015 03:43:05 +0000 (UTC) Received: (qmail 87622 invoked by uid 500); 25 Feb 2015 03:43:05 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 87568 invoked by uid 500); 25 Feb 2015 03:43:05 -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 87557 invoked by uid 99); 25 Feb 2015 03:43:05 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Feb 2015 03:43:05 +0000 Date: Wed, 25 Feb 2015 03:43:05 +0000 (UTC) From: "zhangduo (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-13097) Netty PooledByteBufAllocator cause OOM in some unit test MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-13097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] zhangduo updated HBASE-13097: ----------------------------- Description: In some unit tests(such as TestAcidGuarantees) we create multiple Connection instance. If we use AsyncRpcClient, then there will be multiple netty Bootstrap and every Bootstrap has its own PooledByteBufAllocator. I haven't read the code clearly but it uses some threadlocal technics and jmap shows io.netty.buffer.PoolThreadCache$MemoryRegionCache$Entry is the biggest things on Heap. See https://builds.apache.org/job/HBase-TRUNK/6168/artifact/hbase-server/target/surefire-reports/org.apache.hadoop.hbase.TestAcidGuarantees-output.txt {noformat} 2015-02-24 23:50:29,704 WARN [JvmPauseMonitor] util.JvmPauseMonitor$Monitor(167): Detected pause in JVM or host machine (eg GC): pause of approximately 20133ms GC pool 'PS MarkSweep' had collection(s): count=15 time=55525ms {noformat} was: In some unit tests(such as TestAcidGuarantees) we create multiple Connection instance. If we use AsyncRpcClient, then there will be multiple netty Bootstrap and every Bootstrap has its own PooledByteBufAllocator. Its default max cached buffer size is 32M, so it is easy to OOM if we create many Connection instance. See https://builds.apache.org/job/HBase-TRUNK/6168/artifact/hbase-server/target/surefire-reports/org.apache.hadoop.hbase.TestAcidGuarantees-output.txt {noformat} 2015-02-24 23:50:29,704 WARN [JvmPauseMonitor] util.JvmPauseMonitor$Monitor(167): Detected pause in JVM or host machine (eg GC): pause of approximately 20133ms GC pool 'PS MarkSweep' had collection(s): count=15 time=55525ms {noformat} > Netty PooledByteBufAllocator cause OOM in some unit test > -------------------------------------------------------- > > Key: HBASE-13097 > URL: https://issues.apache.org/jira/browse/HBASE-13097 > Project: HBase > Issue Type: Bug > Components: IPC/RPC, test > Affects Versions: 2.0.0, 1.1.0 > Reporter: zhangduo > > In some unit tests(such as TestAcidGuarantees) we create multiple Connection instance. If we use AsyncRpcClient, then there will be multiple netty Bootstrap and every Bootstrap has its own PooledByteBufAllocator. > I haven't read the code clearly but it uses some threadlocal technics and jmap shows io.netty.buffer.PoolThreadCache$MemoryRegionCache$Entry is the biggest things on Heap. > See https://builds.apache.org/job/HBase-TRUNK/6168/artifact/hbase-server/target/surefire-reports/org.apache.hadoop.hbase.TestAcidGuarantees-output.txt > {noformat} > 2015-02-24 23:50:29,704 WARN [JvmPauseMonitor] util.JvmPauseMonitor$Monitor(167): Detected pause in JVM or host machine (eg GC): pause of approximately 20133ms > GC pool 'PS MarkSweep' had collection(s): count=15 time=55525ms > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)