hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zhangduo (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-13097) Netty PooledByteBufAllocator cause OOM in some unit test
Date Wed, 25 Feb 2015 03:43:05 GMT

     [ 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)

Mime
View raw message