hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "chunhui shen (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4862) Splitting hlog and opening region concurrently may cause data loss
Date Sun, 27 Nov 2011 06:42:40 GMT

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

chunhui shen commented on HBASE-4862:
-------------------------------------

@Jonathan
What happens if the .temp gets left behind without being renamed?
If the the .temp gets left ,it means the spliting log is failed, and the .temp file would
be deleted in the next spliting log.
You could find that, for the same splitted hlog file, it creates the same name file in the
region's recoverd.edits directory

Thanks for your suggestion.


                
> Splitting hlog and opening region concurrently may cause data loss
> ------------------------------------------------------------------
>
>                 Key: HBASE-4862
>                 URL: https://issues.apache.org/jira/browse/HBASE-4862
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.2
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>            Priority: Critical
>             Fix For: 0.92.0, 0.94.0, 0.90.5
>
>         Attachments: 4862.patch, 4862.txt, hbase-4862v1 for 0.90.diff, hbase-4862v1 for
0.90.diff, hbase-4862v1 for trunk.diff, hbase-4862v1 for trunk.diff, hbase-4862v2for0.90.diff,
hbase-4862v2fortrunk.diff, hbase-4862v3for0.90.diff, hbase-4862v3fortrunk.diff, hbase-4862v5for0.90.diff,
hbase-4862v5fortrunk.diff
>
>
> Case Description:
> 1.Split hlog thread creat writer for the file region A/recoverd.edits/123456 and is appending
log entry
> 2.Regionserver is opening region A now, and in the process replayRecoveredEditsIfAny()
,it will delete the file region A/recoverd.edits/123456 
> 3.Split hlog thread catches the io exception, and stop parse this log file 
> and if skipError = true , add it to the corrupt logs....However, data in other regions
in this log file will loss 
> 4.Or if skipError = false, it will check filesystem.Of course, the file system is ok
, and it only prints a error log, continue assigning regions. Therefore, data in other log
files will also loss!!
> The case may happen in the following:
> 1.Move region from server A to server B
> 2.kill server A and Server B
> 3.restart server A and Server B
> We could prevent this exception throuth forbiding deleting  recover.edits file 
> which is appending by split hlog thread

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message