[ https://issues.apache.org/jira/browse/HBASE-22370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lijin Bin updated HBASE-22370: ------------------------------ Affects Version/s: 2.2.1 > ByteBuf LEAK ERROR > ------------------ > > Key: HBASE-22370 > URL: https://issues.apache.org/jira/browse/HBASE-22370 > Project: HBase > Issue Type: Bug > Components: rpc, wal > Affects Versions: 2.2.1 > Reporter: Lijin Bin > Assignee: Lijin Bin > Priority: Major > Attachments: HBASE-22370-master-v1.patch > > > We do failover test and throw a leak error, this is hard to reproduce. > {code} > 2019-05-06 02:30:27,781 ERROR [AsyncFSWAL-0] util.ResourceLeakDetector: 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.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:334) > > 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.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutput.flush0(FanOutOneBlockAsyncDFSOutput.java:494) > > org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutput.flush(FanOutOneBlockAsyncDFSOutput.java:513) > > org.apache.hadoop.hbase.regionserver.wal.AsyncProtobufLogWriter.sync(AsyncProtobufLogWriter.java:144) > org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.sync(AsyncFSWAL.java:353) > > org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.consume(AsyncFSWAL.java:536) > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > java.lang.Thread.run(Thread.java:748) > {code} > If FanOutOneBlockAsyncDFSOutput#endBlock throw Exception before call > "buf.release();", this buf has not chance to release. > In CallRunner if the call skipped or Dropping timed out call, the call do not > call cleanup. -- This message was sent by Atlassian Jira (v8.3.4#803005)