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

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

bq.Should there be an interface for Memstore so that the default implementation 
and other implementations have a common contract ?
Yes.  We have an interface now in the patch.

The main changes in this patch
1. Removed updateColumnValue() from HStore and Memstore. This was used only in 
tests and there is a TODO for removal
2. Extracted MemStore as an interface and current Memstore impl moved to an 
DefaultMemStore impl.
3. For dealing with flush, we had snapshot(), getSnapshot() and 
clearSnapshot().  This is changed to snapshot()  , getSnapshotScanner() and 
clearSnapshot(). getSnapshotScanner() hides the snapshot DS details within 
MemStore.
4. MemStore impl can be plugged in by configuring the FQCN against 
"hbase.regionserver.memstore.class"


> 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.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