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

Duo Zhang commented on HBASE-20637:
-----------------------------------

The basic idea is that, when transiting from A to S, we will set a flag on 
DualAsyncFSWAL to only allow region event to be written, and then fail all the 
pending writes, at last, set skipRemoteWal to make the log rolling success. We 
need to allow writing region event as we need to close the region so that we 
can switch WAL, and if we can not write out the close event marker then the RS 
will abort. And we need to fail all the pending writes, no matter whether it is 
in the WAL or not, as the wal will be skipped when splitting, and as we are in 
state S, no one can read us anymore.

> Polish the WAL switching when transiting from A to S
> ----------------------------------------------------
>
>                 Key: HBASE-20637
>                 URL: https://issues.apache.org/jira/browse/HBASE-20637
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Duo Zhang
>            Priority: Major
>
> The design in HBASE-20424 implies that, when transiting from A to S, the RS 
> will abort and the WAL file will be split.
> But in fact, there could be races that make a RS still alive after the 
> transiting which causes data inconsistency. And also, a full cluster restart 
> is expensive, we need to find a more smooth way.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to