[ 
https://issues.apache.org/jira/browse/HADOOP-5721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Flavio Paiva Junqueira updated HADOOP-5721:
-------------------------------------------

    Attachment: HADOOP-5721.patch

Thanks for more comments, Konstantin. I have implemented your suggestions and 
also some other modifications due to some observations that Luca made offline. 
Luca pointed out that the way open() was implemented in the previous version of 
the patch, it was not very flexible and it would prevent us from having open 
methods to other types of log devices because it was taking a parameter 
specific to a file. 

I have instead moved the parameter that configures the output buffer size to 
FSEditLog (FSEditLog::sizeOutputFlushBuffer), and now the calls in FSEditLog 
that currently create an output log stream (EditLogFileOutputStream) use 
FSEditLog::sizeOutputFlushBuffer when calling the constructor of 
EditLogFileOutputStream. To set the value of FSEditLog::sizeOutputFlushBuffer, 
there is a method called setOutputFlushBuffer(int). Note that 
FSEditLog::sizeOutputFlushBuffer is not static as before. I prefer to have an 
instance attribute instead of a static one to avoid confusion when 
instantiating multiple times the same class. 

I also think that FSEditLog is currently the right place to keep the 
configuration of log devices because FSEditoLog contains calls to start and 
stop such devices. However, I would like to propose a different solution for 
configuring log devices (not for this patch, though). We should have a class, 
called perhaps EditLogDevConfig, that holds all the parameters necessary for 
the log devices a particular instance of the namenode requires. When calling 
the constructor of a particular log stream device, we just pass such a 
configuration parameter and the constructor takes care of extracting the 
necessary parameters.

> Provide EditLogFileInputStream and EditLogFileOutputStream as independent 
> classes 
> ----------------------------------------------------------------------------------
>
>                 Key: HADOOP-5721
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5721
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: dfs
>    Affects Versions: 0.19.1
>            Reporter: Luca Telloli
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: HADOOP-5721.patch, HADOOP-5721.patch, HADOOP-5721.patch, 
> HADOOP-5721.patch, HADOOP-5721.patch, HADOOP-5721.patch
>
>
> EditLogFileInputStream and EditLogFileOutputStream are currently part of 
> FSEditLog. With this patch we want to extract them and provide as independent 
> classes. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to