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

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

{quote}
In any case, HDFS-1580 also adds an additional class here so that point seems 
mute.
{quote}
HDFS-1580 adds the JournalFactory class to provide a single point of 
pluggability. It is purely a factory that exists for the creation of different 
types of streams and then goes away so the point is not moot.

In this case where there's only one type of OutputStream used, JournalFactory 
is not even necessary. EditLogFileOutputStream could be created directly.

{quote}
Do you think the code and data for managing the lifecycle of logs/ledgers 
should not be logically grouped?
{quote}
I don't know what you mean by data, but of course it should be logically 
grouped. I'm not arguing about that. I'm arguing about how the logic is being 
grouped.

{quote}
    I really don't like the call to getCurrentStream() having to be called 
every time you want an output stream. 

Why? Can you be more specific?
{quote}
I don't like it because the currentStream will never change without FSEditLog 
telling it to change (through divert/revert, startLogSegment/endLogSegment 
later). So why doesn't FSEditLog just get a new reference to the currentStream 
once it has told it to change? 

> 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

Reply via email to