[
https://issues.apache.org/jira/browse/HBASE-16613?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ChiaPing Tsai updated HBASE-16613:
----------------------------------
Status: Patch Available (was: Open)
> 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
> Assignee: ChiaPing Tsai
> Fix For: 1.3.0, 1.4.0
>
> Attachments: HBASE-16613.branch-1.v0.patch
>
>
> 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)