Anoop Sam John created HBASE-15721: -------------------------------------- Summary: Optimization in cloning cells into MSLAB Key: HBASE-15721 URL: https://issues.apache.org/jira/browse/HBASE-15721 Project: HBase Issue Type: Sub-task Reporter: Anoop Sam John Assignee: Anoop Sam John Fix For: 2.0.0
Before cells added to memstore CSLM, there is a clone of cell after copying it to MSLAB chunk area. This is done not in an efficient way. {code} public static int appendToByteArray(final Cell cell, final byte[] output, final int offset) { int pos = offset; pos = Bytes.putInt(output, pos, keyLength(cell)); pos = Bytes.putInt(output, pos, cell.getValueLength()); pos = appendKeyTo(cell, output, pos); pos = CellUtil.copyValueTo(cell, output, pos); if ((cell.getTagsLength() > 0)) { pos = Bytes.putAsShort(output, pos, cell.getTagsLength()); pos = CellUtil.copyTagTo(cell, output, pos); } return pos; } {code} Copied in 9 steps and we end up parsing all lengths. When the cell implementation is backed by a single byte[] (Like KeyValue) this can be done in single step copy. -- This message was sent by Atlassian JIRA (v6.3.4#6332)