[ https://issues.apache.org/jira/browse/HBASE-16888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ChiaPing Tsai updated HBASE-16888: ---------------------------------- Attachment: HBASE-16888.v0.patch > Avoid unnecessary tags copy in Append > ------------------------------------- > > Key: HBASE-16888 > URL: https://issues.apache.org/jira/browse/HBASE-16888 > Project: HBase > Issue Type: Improvement > Affects Versions: 2.0.0 > Reporter: ChiaPing Tsai > Priority: Minor > Fix For: 2.0.0 > > Attachments: HBASE-16888.v0.patch > > > a) If the delta has tags and the mutation doesn’t apply the TTL, we shouldn’t > create the TagRewriteCell. > {noformat} > List<Tag> tags = TagUtil.carryForwardTags(delta); > long ts = now; > Cell newCell = null; > byte [] row = mutation.getRow(); > if (currentValue != null) { > ... > } else { > // Append's KeyValue.Type==Put and ts==HConstants.LATEST_TIMESTAMP > CellUtil.updateLatestStamp(delta, now); > newCell = delta; > tags = TagUtil.carryForwardTTLTag(tags, mutation.getTTL()); > if (tags != null) { > newCell = CellUtil.createCell(delta, tags); > } > } > {noformat} > b) If the cell has tags, the ShareableMemoryTagRewriteCell will make > duplicate copy of tags. > {noformat} > Cell clonedBaseCell = ((ShareableMemory) this.cell).cloneToCell(); > return new TagRewriteCell(clonedBaseCell, this.tags); > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)