hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Powell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-5868) Make hsync implementation pluggable
Date Mon, 10 Feb 2014 07:00:24 GMT

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

David Powell commented on HDFS-5868:


Your latest patch looks great to me.  The abstract class / interface approach definitely seems
like the right way to go in the long term, but I can't speak with authority on when matters
would weigh in favor of doing so.

> Make hsync implementation pluggable
> -----------------------------------
>                 Key: HDFS-5868
>                 URL: https://issues.apache.org/jira/browse/HDFS-5868
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode
>    Affects Versions: 2.2.0
>            Reporter: Buddy
>         Attachments: HDFS-5868-branch-2.patch, HDFS-5868a-branch-2.patch
> The current implementation of hsync in BlockReceiver only works if the output streams
are instances of FileOutputStream. Therefore, there is currently no way for a FSDatasetSpi
plugin to implement hsync if it is not using standard OS files.
> One possible solution is to push the implementation of hsync into the ReplicaOutputStreams
class. This class is constructed by the ReplicaInPipeline which is constructed by the FSDatasetSpi
plugin, therefore it can be extended. Instead of directly calling sync on the output stream,
BlockReceiver would call ReplicaOutputStream.sync.  The default implementation of sync in
ReplicaOutputStream would be the same as the current implementation in BlockReceiver. 

This message was sent by Atlassian JIRA

View raw message