You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (JIRA)" <ji...@apache.org> on 2016/02/08 12:03:39 UTC

[jira] [Commented] (HBASE-14949) Skip duplicate entries when replay WAL.

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

Duo Zhang commented on HBASE-14949:
-----------------------------------

{quote}
It will be better if we use a switch which store in System Table, after upgrade finished, we can switch on manually to use new WAL logic.
{quote}

This is a good idea but how do we know upgrade is finished? For HDFS, there is a rolling upgrade state. We call "hdfs dfsadmin -rollingUpgrade prepare" when starting and call "hdfs dfsadmin -rollingUpgrade finalize" when done. Is there a similar tool in HBase? I think our rolling upgrade is just kill the old server and restart it with the new code...

Thanks.

> Skip duplicate entries when replay WAL.
> ---------------------------------------
>
>                 Key: HBASE-14949
>                 URL: https://issues.apache.org/jira/browse/HBASE-14949
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Heng Chen
>         Attachments: HBASE-14949.patch, HBASE-14949_v1.patch, HBASE-14949_v2.patch
>
>
> As HBASE-14004 design,  there will be duplicate entries in different WAL.  It happens when one hflush failed, we will close old WAL with 'acked hflushed' length,  then open a new WAL and write the unacked hlushed entries into it.
> So there maybe some overlap between old WAL and new WAL.
> We should skip the duplicate entries when replay.  I think it has no harm to current logic, maybe we do it first. 



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