[ https://issues.apache.org/jira/browse/HBASE-16613?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ChiaPing Tsai reassigned HBASE-16613: ------------------------------------- Assignee: ChiaPing Tsai > 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)