[ 
https://issues.apache.org/jira/browse/HBASE-10648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13934850#comment-13934850
 ] 

Anoop Sam John commented on HBASE-10648:
----------------------------------------

Gone through the 94 patch. Looks good.
{code}
-                flushed += this.memstore.heapSizeChange(kv, true);
+                flushed += DefaultMemStore.heapSizeChange(kv, true);
{code}
It won't be good to directly use some impl here. We use flushed variable for 
logging purpose only right (?) In trunk it is.  Can you use the size available 
in MemStoreSnapshot (?)

DefaultMemStore#snapshot()
{code}
+         long snapshotSize = 0;
...
return new MemStoreSnapshot(this.snapshotId, snapshot.size(),
+      snapshotSize, this.snapshotTimeRangeTracker,
+      new CollectionBackedScanner(snapshot, this.comparator));
{code}
Make snapshotSize = keySize().
Any way once HBASE-10514 is in to 94, will need some change here and 
snapshotSize will come as an instance member.



> Pluggable Memstore
> ------------------
>
>                 Key: HBASE-10648
>                 URL: https://issues.apache.org/jira/browse/HBASE-10648
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>         Attachments: HBASE-10648-0.94_v1.patch, HBASE-10648.patch, 
> HBASE-10648_V2.patch, HBASE-10648_V3.patch, HBASE-10648_V4.patch, 
> HBASE-10648_V5.patch, HBASE-10648_V6.patch
>
>
> Make Memstore into an interface implementation.  Also make it pluggable by 
> configuring the FQCN of the impl.
> This will allow us to have different impl and optimizations in the Memstore 
> DataStructure and the upper layers untouched.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to