hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ChiaPing Tsai (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-16888) Avoid unnecessary tags copy in Append
Date Fri, 09 Dec 2016 01:19:58 GMT

     [ https://issues.apache.org/jira/browse/HBASE-16888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

ChiaPing Tsai updated HBASE-16888:
----------------------------------
    Status: Patch Available  (was: Open)

> 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
>            Assignee: ChiaPing Tsai
>            Priority: Minor
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16888.v0.patch, HBASE-16888.v1.patch, HBASE-16888.v1.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)

Mime
View raw message