[ https://issues.apache.org/jira/browse/HBASE-13811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14573900#comment-14573900 ]
Duo Zhang commented on HBASE-13811: ----------------------------------- {quote} Rather than add a new method that does what the old getEarliestMemstoreSeqNum did, I changed getEarliestMemstoreSeqNum to be how the old version worked. {quote} Fine, I think it will work. But I still feel a little nervous to have two methods which have same name but different behaviors... And I remember that, when implmenting HBASE-10201 and HBASE-12405, actually I wanted to return the flushedSeqId when calling startCacheFlush first. But there are two problems. First is getNextSequenceId method is in HRegion, not in FSHLog, so a simple solution is return NO_SEQ_NUM when flushing all stores and let HRegion call getNextSequenceId. But here comes the second problem, startCacheFlush may fail which means we can not start a flush, so there are three types of return values, 'sequenceId', 'choose a sequenceId by yourself', 'give up flushing!'. I think it is ugly to have a '-2' or a null java.lang.Long to indicate a 'give up flushing' at that time so I gave up... Maybe we could consider this solution again? getEarliestMemstoreSeqNum can be used everywhere but startCacheFlush is restricted in the flushing scope I think. Thanks. > Splitting WALs, we are filtering out too many edits -> DATALOSS > --------------------------------------------------------------- > > Key: HBASE-13811 > URL: https://issues.apache.org/jira/browse/HBASE-13811 > Project: HBase > Issue Type: Bug > Components: wal > Affects Versions: 2.0.0, 1.2.0 > Reporter: stack > Assignee: stack > Priority: Critical > Fix For: 2.0.0, 1.2.0 > > Attachments: 13811.branch-1.txt, 13811.branch-1.txt, 13811.txt, > 13811.v2.branch-1.txt, 13811.v3.branch-1.txt, 13811.v3.branch-1.txt, > 13811.v4.branch-1.txt, 13811.v5.branch-1.txt, 13811.v6.branch-1.txt, > 13811.v6.branch-1.txt, HBASE-13811-v1.testcase.patch, > HBASE-13811.testcase.patch > > > I've been running ITBLLs against branch-1 around HBASE-13616 (move of > ServerShutdownHandler to pv2). I have come across an instance of dataloss. My > patch for HBASE-13616 was in place so can only think it the cause (but cannot > see how). When we split the logs, we are skipping legit edits. Digging. -- This message was sent by Atlassian JIRA (v6.3.4#6332)