[ https://issues.apache.org/jira/browse/HDFS-1799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13028097#comment-13028097 ]
Eli Collins commented on HDFS-1799: ----------------------------------- Separating out the concerns per these three classes makes sense to me. Aside from the usefulness of the abstraction, trying to maintain the invariant that EditLogOutputStream is a small delta (eg sync'ing) wrt OutputStream and not wanting to pile more code into FSEditLog necessitates a new class. When it comes to the edits log we should be optimizing for simplicity (therefore correctness) rather than # classes etc. If JournalManager evolves towards Journal as articulated in HDFS-1850, that's fine. These are implementation classes, we can get something that works well for 1073 and then modify as necessary for 1850. @Todd, I'll post detailed review feedback on your latest patch tomorrow. > 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.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