hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matteo Bertozzi (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-14995) Optimize setting tagsPresent in DefaultMemStore.java
Date Wed, 16 Dec 2015 22:53:46 GMT

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

Matteo Bertozzi updated HBASE-14995:
------------------------------------
    Description: 
The current implementation calls e.getTagsLength() for each cell. Once tagsPresent is set,
e.getTagsLength() can be avoided.
{code}
  private boolean addToCellSet(Cell e) {
    boolean b = this.cellSet.add(e);
    // In no tags case this NoTagsKeyValue.getTagsLength() is a cheap call.
    // When we use ACL CP or Visibility CP which deals with Tags during
    // mutation, the TagRewriteCell.getTagsLength() is a cheaper call. We do not
    // parse the byte[] to identify the tags length.
    if(e.getTagsLength() > 0) {
      tagsPresent = true;
    }
    setOldestEditTimeToNow();
    return b;
  }
{code}

  was:
The current implementation calls e.getTagsLength() for each cell. Once tagsPresent is set,
e.getTagsLength() can be avoided.

  private boolean addToCellSet(Cell e) {
    boolean b = this.cellSet.add(e);
    // In no tags case this NoTagsKeyValue.getTagsLength() is a cheap call.
    // When we use ACL CP or Visibility CP which deals with Tags during
    // mutation, the TagRewriteCell.getTagsLength() is a cheaper call. We do not
    // parse the byte[] to identify the tags length.
    if(e.getTagsLength() > 0) {
      tagsPresent = true;
    }
    setOldestEditTimeToNow();
    return b;
  }


> Optimize setting tagsPresent in DefaultMemStore.java
> ----------------------------------------------------
>
>                 Key: HBASE-14995
>                 URL: https://issues.apache.org/jira/browse/HBASE-14995
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 2.0.0, 1.2.0
>            Reporter: huaxiang sun
>            Assignee: huaxiang sun
>            Priority: Minor
>         Attachments: HBASE-14995-v001.patch
>
>
> The current implementation calls e.getTagsLength() for each cell. Once tagsPresent is
set, e.getTagsLength() can be avoided.
> {code}
>   private boolean addToCellSet(Cell e) {
>     boolean b = this.cellSet.add(e);
>     // In no tags case this NoTagsKeyValue.getTagsLength() is a cheap call.
>     // When we use ACL CP or Visibility CP which deals with Tags during
>     // mutation, the TagRewriteCell.getTagsLength() is a cheaper call. We do not
>     // parse the byte[] to identify the tags length.
>     if(e.getTagsLength() > 0) {
>       tagsPresent = true;
>     }
>     setOldestEditTimeToNow();
>     return b;
>   }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message