[
https://issues.apache.org/jira/browse/HBASE-10648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13924402#comment-13924402
]
stack commented on HBASE-10648:
-------------------------------
bq. KeyValueScanner snapshotScanner
Should it be CellScanner?
MemStore#size is not heapSize or is? FYI, HBASE-10514 adds a method to
MemStore.
Is the snapshot info a good idea? We need to pass it alongside a scanner?
Should the two be combined; a class that implements CellScanner and from which
you can get snapshot info? You ask SnapshotInfo for the CellScanner when you
need one? What happens if a MemStore implementation has N snapshots? This
scanner + info implementation will allow hiding these details? (It should be
able to...).
And oh, it took me a while... yeah, a class in an Interface as per Andrew is
ahem, 'unorthodox' ... smile. It should be an Interface too?
Can this be about Cells rather than KVs since you are making a change:
- for (KeyValue kv : ((HStore) region.getStore(fam1)).memstore.kvset) {
+ for (KeyValue kv : memstore.kvset) {
WHy does this go away? testUpsertMSLAB
Is MSLAB an implementation detail on DefaultMemStore?
Patch lgtm where the 'g' in the previous is 'great', not 'good'.
> 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, HBASE-10648_V2.patch,
> HBASE-10648_V3.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)