You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Jeff Hammerbacher (JIRA)" <ji...@apache.org> on 2009/10/29 01:48:59 UTC
[jira] Reopened: (HADOOP-6339) SequenceFile writer does not
properly flush stream with external DataOutputStream
[ https://issues.apache.org/jira/browse/HADOOP-6339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Hammerbacher reopened HADOOP-6339:
---------------------------------------
> SequenceFile writer does not properly flush stream with external DataOutputStream
> ---------------------------------------------------------------------------------
>
> Key: HADOOP-6339
> URL: https://issues.apache.org/jira/browse/HADOOP-6339
> Project: Hadoop Common
> Issue Type: Bug
> Components: io
> Affects Versions: 0.20.1
> Reporter: Jonathan Hsieh
>
> When using the SequenceFile.createWriter(..,FSDataOutputStream, ...) method to create a Writer, data is not flushed when the encapsulating SequenceFile is closed.
> Example test case skeleton:
> {code}
> public void testWhyFail() throws IOException {
> // There a was a failure case using :
> Configuration conf = ... ;
> Path path = new Path("file:///tmp/testfile");
> FileSystem hdfs = path.getFileSystem(conf);
> // writing
> FSDataOutputStream dos = hdfs.create(path);
> hdfs.deleteOnExit(path);
> // it is specifically with this writer.
> Writer writer = SequenceFile.createWriter(conf, dos,
> WriteableEventKey.class, WriteableEvent.class,
> SequenceFile.CompressionType.NONE, new DefaultCodec());
> Writable value = ...;
> Writable key = ...;
> writer.append(key, value);
> writer.sync();
> writer.close();
> // Test fails unless I close the underlying FSDataOutputStream handle with the line below.
> // dos.close();
>
> // WTF: nothing written by this writer!
> FileStatus stats = hdfs.getFileStatus(path);
> assertTrue(stats.getLen() > 0);
> // it should have written something but it failed.
> }
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.