[ https://issues.apache.org/jira/browse/HBASE-16613?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell updated HBASE-16613: ----------------------------------- Fix Version/s: (was: 1.4.0) > Return the unused ByteBuffer to BoundedByteBufferPool when no cell is > retrieved from the CellScanner > ---------------------------------------------------------------------------------------------------- > > Key: HBASE-16613 > URL: https://issues.apache.org/jira/browse/HBASE-16613 > Project: HBase > Issue Type: Bug > Reporter: Chia-Ping Tsai > Assignee: Chia-Ping Tsai > Fix For: 1.3.0, 1.2.4 > > Attachments: HBASE-16613.branch-1.v0.patch, > HBASE-16613.branch-1.v1.patch, HBASE-16613.branch-1.v1.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.4.14#64029)