[ 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