[ 
https://issues.apache.org/jira/browse/HDFS-988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eli Collins updated HDFS-988:
-----------------------------

    Attachment: hdfs-988-3.patch

Updated patch attached. Merges Matt's HDFS-988_fix_synchs.patch with my earlier 
hdfs-988-2.patch (based on Todd's patch). 

* No longer throw a SafeModeException in setTimes
* Uses rw lock in getNamespaceInfo, setQuota, renewLease, nextGenerationStamp.
* Use the same technique (get a strong ref to this.safeMode) from isInSafeMode, 
isInStartupSafeMode, and isPopulatingReplQueues in checkSafeMode.

Also, I noticed computeDatanodeWork and heartbeatCheck check isInSafeMode w/o 
holding the lock, that's no kosher as well right? Not great to hold the lock 
here since both of these methods can be time-intensive, but it seems racy not 
to.

I'm working on a test.

> saveNamespace can corrupt edits log, apparently due to race conditions
> ----------------------------------------------------------------------
>
>                 Key: HDFS-988
>                 URL: https://issues.apache.org/jira/browse/HDFS-988
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: name-node
>    Affects Versions: 0.20-append, 0.21.0, 0.22.0
>            Reporter: dhruba borthakur
>            Assignee: Eli Collins
>            Priority: Blocker
>             Fix For: 0.20-append, 0.22.0
>
>         Attachments: HDFS-988_fix_synchs.patch, hdfs-988-2.patch, 
> hdfs-988-3.patch, hdfs-988.txt, saveNamespace.txt, 
> saveNamespace_20-append.patch
>
>
> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to