hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13993) WALProcedureStore fencing is not effective if new WAL rolls
Date Sat, 11 Jul 2015 01:21:05 GMT

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

Hudson commented on HBASE-13993:
--------------------------------

SUCCESS: Integrated in HBase-1.3-IT #36 (See [https://builds.apache.org/job/HBase-1.3-IT/36/])
HBASE-13993 WALProcedureStore fencing is not effective if new WAL rolls (enis: rev 2c076a30e5b269113a6ef526d458aafae6fcf339)
* hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestWALProcedureStoreOnHDFS.java
* hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java
* hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterFailoverWithProcedures.java


> WALProcedureStore fencing is not effective if new WAL rolls 
> ------------------------------------------------------------
>
>                 Key: HBASE-13993
>                 URL: https://issues.apache.org/jira/browse/HBASE-13993
>             Project: HBase
>          Issue Type: Sub-task
>          Components: master
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 2.0.0, 1.1.2, 1.3.0, 1.2.1
>
>         Attachments: HBASE-13993-v2.patch, HBASE-13993-v3.patch, hbase-13993_v1.patch
>
>
> WAL fencing for the WALProcedureStore is a bit different than the fencing done for region
server WALs. 
> In case of this sequence of events, the WAL is not fenced (especially with HBASE-13832
patch): 
>  - master1 creates WAL with logId = 1: {{/MasterProcWALs/state-00000000000000000001.log}}

>  - master2 takes over, fences logId = 1 with recoverLease(), creates logId=2: {{/MasterProcWALs/state-00000000000000000002.log}}.
>  - master2 writes some procedures and rolls the logId2, and creates logId = 3, and deletes
logId = 2. 
>  - master1 now tries to write a procedure, gets lease mismatch, rolls the log from 1
to 2, and succeeds the write since it can write logId = 2 (master2 uses logId=3 now). 
>  



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

Mime
View raw message