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 "Jonathan Hsieh (Assigned) (JIRA)" <ji...@apache.org> on 2011/11/30 18:57:40 UTC
[jira] [Assigned] (HADOOP-7870) fix SequenceFile#createWriter with
boolean createParent arg to respect createParent.
[ https://issues.apache.org/jira/browse/HADOOP-7870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Hsieh reassigned HADOOP-7870:
--------------------------------------
Assignee: Jonathan Hsieh
> 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
>
> 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