You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "ChiaPing Tsai (JIRA)" <ji...@apache.org> on 2016/09/12 07:05:21 UTC
[jira] [Created] (HBASE-16613) Return the unused ByteBuffer to
BoundedByteBufferPool when no cell is got from the CellScanner
ChiaPing Tsai created HBASE-16613:
-------------------------------------
Summary: Return the unused ByteBuffer to BoundedByteBufferPool when no cell is got from the CellScanner
Key: HBASE-16613
URL: https://issues.apache.org/jira/browse/HBASE-16613
Project: HBase
Issue Type: Bug
Reporter: ChiaPing Tsai
Fix For: 1.3.0, 1.4.0
The critical code is shown below:
{code:title=IPCUtil.java|borderStyle=solid}
// We should put the ByteBuffer into pool before return null
public ByteBuffer buildCellBlock(final Codec codec, final CompressionCodec compressor,
final CellScanner cellScanner, final BoundedByteBufferPool pool) {
...
if (pool != null) {
ByteBuffer bb = pool.getBuffer();
bufferSize = bb.capacity();
baos = new ByteBufferOutputStream(bb);
}
...
int count = 0;
while (cellScanner.advance()) {
encoder.write(cellScanner.current());
count++;
}
encoder.flush();
if (count == 0) return null;
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)