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

Konstantin Shvachko commented on HDFS-1597:
-------------------------------------------

Good point Todd, 
- entering safemode cleans the queue of currents transaction, and
- then safemode acts as a lock for savenamespace preventing initiation of new 
transactions.

This probably becomes the reason why HDFS-1508 wont work.

I see a warning in TestEditLog: 
{{fsimage.getStorage().getStorageFile(it.next(), NameNodeFile.EDITS)}} should 
be replaced with
{{NNStorage.getStorageFile(it.next(), NameNodeFile.EDITS)}}

I agree setting {{synctxid = syncStart}} should happen only if the sync 
occurred, otherwise 
{{synctxid}} will be set to 0 and unnecessary sync again.

+1 modular warning.

> Batched edit log syncs can reset synctxid throw assertions
> ----------------------------------------------------------
>
>                 Key: HDFS-1597
>                 URL: https://issues.apache.org/jira/browse/HDFS-1597
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 0.22.0
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Blocker
>             Fix For: 0.22.0
>
>         Attachments: hdfs-1597.txt, hdfs-1597.txt, illustrate-test-failure.txt
>
>
> The top of FSEditLog.logSync has the following assertion:
> {code}
>         assert editStreams.size() > 0 : "no editlog streams";
> {code}
> which should actually come after checking to see if the sync was already 
> batched in by another thread.
> This is related to a second bug in which the same case causes synctxid to be 
> reset to 0

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to