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

Ivan Kelly commented on HDFS-2003:
----------------------------------

{quote}
>From the perspective of FSEditLogLoader, an EOFException while reading the 
>opcode (expected) is treated the same as an EOFException in the middle of 
>reading one of the ops (unexpected). This seems unintentional, since a 
>truncated log file is not normal, right?
{quote}
This is intentional. We read from the journal which has the most edits 
available to read. If this happens to be a journal with a truncated file, that 
journal is still the journal with the most up to date logs. Do you disagree?

{quote}
I'm thinking it might be slightly cleaner to make a new class like 
FSEditLogReader, which is instantiated with an InputStream and logVersion. It 
would then expose just a readOp() method. I think that will make it easier to 
mock up sources of edits in the future. What do you think?
{quote}
Makes sense. 

> Separate FSEditLog reading logic from editLog memory state building logic
> -------------------------------------------------------------------------
>
>                 Key: HDFS-2003
>                 URL: https://issues.apache.org/jira/browse/HDFS-2003
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>    Affects Versions: Edit log branch (HDFS-1073)
>            Reporter: Ivan Kelly
>            Assignee: Ivan Kelly
>             Fix For: Edit log branch (HDFS-1073)
>
>         Attachments: HDFS-2003.diff, HDFS-2003.diff
>
>
> Currently FSEditLogLoader has code for reading from an InputStream 
> interleaved with code which updates the FSNameSystem and FSDirectory. This 
> makes it difficult to read an edit log without having a whole load of other 
> object initialised, which is problematic if you want to do things like count 
> how many transactions are in a file etc. 
> This patch separates the reading of the stream and the building of the memory 
> state. 

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

Reply via email to