hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-14721) Memstore add cells - Avoid many garbage creation
Date Thu, 29 Oct 2015 17:51:27 GMT
Anoop Sam John created HBASE-14721:
--------------------------------------

             Summary: Memstore add cells - Avoid many garbage creation
                 Key: HBASE-14721
                 URL: https://issues.apache.org/jira/browse/HBASE-14721
             Project: HBase
          Issue Type: Bug
            Reporter: Anoop Sam John
            Assignee: Anoop Sam John


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)

Mime
View raw message