Buddy created HDFS-5868:
---------------------------

             Summary: Make hsync implementation pluggable
                 Key: HDFS-5868
                 URL: https://issues.apache.org/jira/browse/HDFS-5868
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: datanode
    Affects Versions: 2.4.0
            Reporter: Buddy


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
(v6.1.5#6160)

Reply via email to