FSDataOutputStream should not flush() inside close().
-----------------------------------------------------

                 Key: HADOOP-2863
                 URL: https://issues.apache.org/jira/browse/HADOOP-2863
             Project: Hadoop Core
          Issue Type: Bug
          Components: fs
            Reporter: Raghu Angadi
             Fix For: 0.17.0



Why does FSDataOutputStream.close() call flush()? This stream itself does not 
store any data that it needs to flush. It is a wrapper and it should just 
invoke its outputstream's close().

For. e.g one bad side effect is that, in the case of DFSOutputStream which 
extends FSOutputSummer, flush() inside close sends the current data even though 
FSOutputSummer might have some data.. this left over data will be sent in side 
close() (so it sends data in two different packets instead of one). Other 
filesystems might have similar side effects.

I will submit a patch.



-- 
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