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

Ivan Kelly commented on HDFS-1799:
----------------------------------

I much prefer the interface for JournalManager, though you should change open() 
to createStream(). 

I don't see the need for JournalAndStream. You never need to get the 
JournalManager if you have a stream or vice versa. So why couple them? Your 
design from the 29th April doesn't couple them, and I think the failure 
mechanism from that is quite elegant. To restate it, so I understood it 
correctly...

FSEditLog has a list of JournalManagers and ELOS. On initJournals, the ELOS 
list is populated from the JournalManagers. If a failure occurs, the ELOS is 
simply dropped. Then on beginRoll, ELOS is cleared and repopulated from the 
JournalManagers (this will readd any failed journal which is once again 
available). 

Since a mapping between JournalManagers and ELOS is unnecessary, why add it?

> Refactor log rolling and filename management out of FSEditLog
> -------------------------------------------------------------
>
>                 Key: HDFS-1799
>                 URL: https://issues.apache.org/jira/browse/HDFS-1799
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>    Affects Versions: Edit log branch (HDFS-1073)
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>             Fix For: Edit log branch (HDFS-1073)
>
>         Attachments: 0001-Added-state-management-to-FSEditLog.patch, 
> 0002-Standardised-error-pattern.patch, 
> 0003-Add-JournalFactory-and-move-divert-revert-out-of-FSE.patch, 
> HDFS-1799-all.diff, hdfs-1799-alternate-design.txt, hdfs-1799.txt, 
> hdfs-1799.txt, hdfs-1799.txt, hdfs-1799.txt
>
>
> This is somewhat similar to HDFS-1580, but less ambitious. While that JIRA 
> focuses on pluggability, this task is simply the minimum needed for HDFS-1073:
> - Refactor the filename-specific code for rolling, diverting, and reverting 
> log streams out of FSEditLog into a new class
> - Clean up the related code in FSEditLog a bit
> Notably, this JIRA is going to temporarily break the BackupNode. I plan to 
> circle back on the BackupNode later on this branch.

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

Reply via email to