hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18128) compaction marker could be skipped
Date Mon, 12 Jun 2017 02:41:01 GMT

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

Ted Yu commented on HBASE-18128:
--------------------------------

Why is the following condition removed ?
{code}
-        if (lastFlushedSequenceId >= entry.getKey().getSequenceId()) {
-          editsSkipped++;
{code}
{code}
+@Category({ RegionServerTests.class, SmallTests.class }) public class TestCompactionMarker
{
{code}
Move the class declaration to second line.
{code}
+  private final static Log LOG = LogFactory.getLog(TestWALSplit.class);
{code}
Wrong class name.
{code}
+  @BeforeClass public static void setUpBeforeClass() throws Exception {
{code}

Leave annotation on one line and method declaration on second line - applies to other methods
in the test.

> 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
>            Assignee: Jingyun Tian
>         Attachments: HBASE-18128-master.patch, HBASE-18128-master-v2.patch, TestCompactionMarker.java
>
>
> 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.4.14#64029)

Mime
View raw message