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

Anoop Sam John updated HBASE-14721:
-----------------------------------
    Status: Patch Available  (was: Open)

> Memstore add cells - Avoid many garbage
> ---------------------------------------
>
>                 Key: HBASE-14721
>                 URL: https://issues.apache.org/jira/browse/HBASE-14721
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>         Attachments: HBASE-14721.patch
>
>
> In HRegion# applyFamilyMapToMemstore()
> {code}
> for (int i=0; i < listSize; i++) {
>         Cell cell = cells.get(i);
>         if (cell.getSequenceId() == 0) {
>           CellUtil.setSequenceId(cell, mvccNum);
>         }
>         Pair<Long, Cell> ret = store.add(cell);
>         size += ret.getFirst();
>         if(isInReplay) {
>           // set memstore newly added cells with replay mvcc number
>           CellUtil.setSequenceId(ret.getSecond(), mvccNum);
>         }
>       }
> {code}
> Previously we used to pass the added Cell reference to some HLog impl classes 
> and later on the seqId used to get assigned.  Now it looks totally changed.  
> For normal put cells, the assign happen before adding to store.
> After addition we can see in replay mode again the mvccNum assign on returned 
> cell.. This is not really needed as the seq of seqId assign and add to 
> memstore is changed now.
> For the previous way we had to return added Cell also and that is why we were 
> creating Pair object.Now we can avoid this so we can avoid creation of one 
> Pair object and a wrapper Long object for every Cell add..



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

Reply via email to