[
https://issues.apache.org/jira/browse/HBASE-10648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13935079#comment-13935079
]
Yu Li commented on HBASE-10648:
-------------------------------
Hi [~anoop.hbase],
{quote}
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?
{quote}
Yes, the flushedSize is for logging purpose, or say monitoring purpose.
Actually this is kind of a necessary metrics for our monitoring system and we
think it useful for analyzing online problem when there's any.
>From the code segment of the heapSizeChange method, it's for computing the
>heapsize change when adding/removing a previously-non-existing kv, so I don't
>think any size available in MemStoreSnapshot can be used here. If we decided
>to keep the flushedSize metrics, I think it's even better to put
>heapSizeChange method into the MemStore interface, since different impl of
>MemStore might have different heap size to store one kv, depending on the
>structure(not only CSLM) we use to store it. What's your opinion?
{code}
static long heapSizeChange(final KeyValue kv, final boolean notpresent) {
return notpresent ?
ClassSize.align(ClassSize.CONCURRENT_SKIPLISTMAP_ENTRY + kv.heapSize()):
0;
}
{code}
----
{quote}
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.
{quote}
Make sense. Let me make the change in one go after HBASE-10514 goes into 94.
> 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
> Fix For: 0.99.0
>
> 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)