[ https://issues.apache.org/jira/browse/HADOOP-7870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13165523#comment-13165523 ] Hudson commented on HADOOP-7870: -------------------------------- Integrated in Hadoop-Common-trunk-Commit #1384 (See [https://builds.apache.org/job/Hadoop-Common-trunk-Commit/1384/]) HADOOP-7870. fix SequenceFile#createWriter with boolean createParent arg to respect createParent. Contributed by Jon Hsieh eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1212084 Files : * /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt * /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSequenceFile.java > fix SequenceFile#createWriter with boolean createParent arg to respect createParent. > ------------------------------------------------------------------------------------ > > Key: HADOOP-7870 > URL: https://issues.apache.org/jira/browse/HADOOP-7870 > Project: Hadoop Common > Issue Type: Bug > Affects Versions: 1.0.0 > Reporter: Jonathan Hsieh > Assignee: Jonathan Hsieh > Fix For: 0.23.1, 1.1.0 > > Attachments: hadoop-7870-1.patch, hadoop-7870.patch, hadoop-7870.patch > > > After HBASE-6840, one set of calls to createNonRecursive(...) seems fishy - the new boolean createParent variable from the signature isn't used at all. > {code} > + public static Writer > + createWriter(FileSystem fs, Configuration conf, Path name, > + Class keyClass, Class valClass, int bufferSize, > + short replication, long blockSize, boolean createParent, > + CompressionType compressionType, CompressionCodec codec, > + Metadata metadata) throws IOException { > + if ((codec instanceof GzipCodec) && > + !NativeCodeLoader.isNativeCodeLoaded() && > + !ZlibFactory.isNativeZlibLoaded(conf)) { > + throw new IllegalArgumentException("SequenceFile doesn't work with " + > + "GzipCodec without native-hadoop code!"); > + } > + > + switch (compressionType) { > + case NONE: > + return new Writer(conf, > + fs.createNonRecursive(name, true, bufferSize, replication, blockSize, null), > + keyClass, valClass, metadata).ownStream(); > + case RECORD: > + return new RecordCompressWriter(conf, > + fs.createNonRecursive(name, true, bufferSize, replication, blockSize, null), > + keyClass, valClass, codec, metadata).ownStream(); > + case BLOCK: > + return new BlockCompressWriter(conf, > + fs.createNonRecursive(name, true, bufferSize, replication, blockSize, null), > + keyClass, valClass, codec, metadata).ownStream(); > + default: > + return null; > + } > + } > + > {code} > Nicolas Spiegelberg suggests changing it to > {code} > if (createParent) { use fs.create() } > else { use fs.createNonRecursive(); } > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira