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

zhangduo commented on HBASE-10201:
----------------------------------

This step must be done here unless we change the behavior of internalFlushcache.

In internalFlushcache, we do the following step

acquire updatesLock->begin mvcc insert->prepare flush->release 
updatesLock->advance mvcc->flushing

seqIdOfOldestEdit is used by prepare flush to get a flushSeqId(because we do 
not flush all stores). If we do not record seqIdOfOldestEdit under updatesLock, 
we may get an inconsistent 
view of the memstore's snapshot and seqIdOfOldestEdit.

Maybe I canonly record it when perColumnFamilyFlushEnabled is true?




> Port 'Make flush decisions per column family' to trunk
> ------------------------------------------------------
>
>                 Key: HBASE-10201
>                 URL: https://issues.apache.org/jira/browse/HBASE-10201
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Ted Yu
>         Attachments: 3149-trunk-v1.txt, HBASE-10201-0.98.patch, 
> HBASE-10201-0.98_1.patch, HBASE-10201-0.98_2.patch, HBASE-10201.patch
>
>
> Currently the flush decision is made using the aggregate size of all column 
> families. When large and small column families co-exist, this causes many 
> small flushes of the smaller CF. We need to make per-CF flush decisions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to