You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (Jira)" <ji...@apache.org> on 2019/09/08 14:42:00 UTC

[jira] [Resolved] (HBASE-22963) Netty ByteBuf leak in rpc client implementation

     [ https://issues.apache.org/jira/browse/HBASE-22963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Duo Zhang resolved HBASE-22963.
-------------------------------
    Hadoop Flags: Reviewed
      Resolution: Fixed

Pushed to branch-2.1+.

Thanks [~stack] for reviewing.

> Netty ByteBuf leak in rpc client implementation
> -----------------------------------------------
>
>                 Key: HBASE-22963
>                 URL: https://issues.apache.org/jira/browse/HBASE-22963
>             Project: HBase
>          Issue Type: Bug
>          Components: rpc
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0, 2.3.0, 2.1.7, 2.2.2
>
>
> {noformat}
> 2019-08-31 21:48:27,067 ERROR [RS-EventLoopGroup-6-3] util.ResourceLeakDetector(317): LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
> Recent access records: 
> Created at:
> 	org.apache.hbase.thirdparty.io.netty.buffer.UnpooledByteBufAllocator.newDirectBuffer(UnpooledByteBufAllocator.java:96)
> 	org.apache.hbase.thirdparty.io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:187)
> 	org.apache.hbase.thirdparty.io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:178)
> 	org.apache.hbase.thirdparty.io.netty.buffer.Unpooled.directBuffer(Unpooled.java:125)
> 	org.apache.hadoop.hbase.ipc.NettyRpcConnection.<init>(NettyRpcConnection.java:96)
> 	org.apache.hadoop.hbase.ipc.NettyRpcClient.createConnection(NettyRpcClient.java:74)
> 	org.apache.hadoop.hbase.ipc.NettyRpcClient.createConnection(NettyRpcClient.java:40)
> 	org.apache.hadoop.hbase.ipc.AbstractRpcClient.getConnection(AbstractRpcClient.java:364)
> 	org.apache.hadoop.hbase.ipc.AbstractRpcClient.callMethod(AbstractRpcClient.java:433)
> 	org.apache.hadoop.hbase.ipc.AbstractRpcClient.access$300(AbstractRpcClient.java:97)
> 	org.apache.hadoop.hbase.ipc.AbstractRpcClient$RpcChannelImplementation.callMethod(AbstractRpcClient.java:605)
> 	org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$Stub.scan(ClientProtos.java:42345)
> 	org.apache.hadoop.hbase.client.AsyncClientScanner.callOpenScanner(AsyncClientScanner.java:152)
> 	org.apache.hadoop.hbase.client.AsyncSingleRequestRpcRetryingCaller.call(AsyncSingleRequestRpcRetryingCaller.java:82)
> 	org.apache.hadoop.hbase.client.AsyncSingleRequestRpcRetryingCaller.lambda$doCall$7(AsyncSingleRequestRpcRetryingCaller.java:115)
> 	org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:68)
> 	java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
> 	java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
> 	java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> 	java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> 	org.apache.hadoop.hbase.client.AsyncRegionLocator.lambda$getRegionLocation$3(AsyncRegionLocator.java:124)
> 	org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:68)
> 	java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
> 	java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
> 	java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> 	java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> 	org.apache.hadoop.hbase.client.ConnectionUtils.lambda$getOrFetch$6(ConnectionUtils.java:573)
> 	org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:68)
> 	java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
> 	java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
> 	java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> 	java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> 	org.apache.hadoop.hbase.client.ZKAsyncRegistry.tryComplete(ZKAsyncRegistry.java:123)
> 	org.apache.hadoop.hbase.client.ZKAsyncRegistry.lambda$getMetaRegionLocation$1(ZKAsyncRegistry.java:165)
> 	org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:68)
> 	java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
> 	java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
> 	java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> 	java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> 	org.apache.hadoop.hbase.client.ZKAsyncRegistry.lambda$getAndConvert$0(ZKAsyncRegistry.java:81)
> 	org.apache.hadoop.hbase.util.FutureUtils.lambda$addListener$0(FutureUtils.java:68)
> 	java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
> 	java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
> 	java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> 	java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> 	org.apache.hadoop.hbase.zookeeper.ReadOnlyZKClient$ZKTask$1.exec(ReadOnlyZKClient.java:174)
> 	org.apache.hadoop.hbase.zookeeper.ReadOnlyZKClient.run(ReadOnlyZKClient.java:342)
> 	java.lang.Thread.run(Thread.java:748)
> {noformat}
> https://builds.apache.org/job/HBase-Flaky-Tests/job/master/4148/testReport/junit/org.apache.hadoop.hbase.client/TestConnection/testConnectionCloseAllowsInterrupt/



--
This message was sent by Atlassian Jira
(v8.3.2#803003)