You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Jingyun Tian (JIRA)" <ji...@apache.org> on 2017/05/27 03:52:04 UTC

[jira] [Created] (HBASE-18128) compaction marker could be skipped

Jingyun Tian created HBASE-18128:
------------------------------------

             Summary: compaction marker could be skipped 
                 Key: HBASE-18128
                 URL: https://issues.apache.org/jira/browse/HBASE-18128
             Project: HBase
          Issue Type: Improvement
          Components: Compaction, regionserver
            Reporter: Jingyun Tian


The sequence for a compaction are as follows:
1. Compaction writes new files under region/.tmp directory (compaction output)
2. Compaction atomically moves the temporary file under region directory
3. Compaction appends a WAL edit containing the compaction input and output files. Forces sync on WAL.
4. Compaction deletes the input files from the region directory.

But if a flush happened between 3 and 4, then the regionserver crushed. The compaction marker will be skipped when splitting log because the sequence id of compaction marker is smaller than lastFlushedSequenceId.
{code}
        if (lastFlushedSequenceId >= entry.getKey().getLogSeqNum()) {
          editsSkipped++;
          continue;
        }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)