hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "dhruba borthakur (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HDFS-988) saveNamespace can corrupt edits log
Date Thu, 18 Feb 2010 21:15:27 GMT

    [ https://issues.apache.org/jira/browse/HDFS-988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12835403#action_12835403

dhruba borthakur commented on HDFS-988:

My proposal is to make the enterSafeMode method wait for all pending transactions to get flushed.

  synchronized void FSNamesystem.enterSafeMode() throws IOException {
    if (!isInSafeMode()) {
      safeMode = new SafeModeInfo();
    getEditLog().logSyncAll();          <======= new code here
    NameNode.stateChangeLog.info("STATE* Safe mode is ON. "
                                + safeMode.getTurnOffTip());

  synchronized void FSEditLog.logSyncAll() throws IOException {
    TransactionId id = myTransactionId.get();
    id.txid = txid;


> saveNamespace can corrupt edits log
> -----------------------------------
>                 Key: HDFS-988
>                 URL: https://issues.apache.org/jira/browse/HDFS-988
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: name-node
>            Reporter: dhruba borthakur
> The adminstrator puts the namenode is safemode and then issues the savenamespace command.
This can corrupt the edits log. The problem is that  when the NN enters safemode, there could
still be pending logSycs occuring from other threads. Now, the saveNamespace command, when
executed, would save a edits log with partial writes. I have seen this happen on 0.20.
> https://issues.apache.org/jira/browse/HDFS-909?focusedCommentId=12828853&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12828853

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message