hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eli Collins (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-7870) fix SequenceFile#createWriter with boolean createParent arg to respect createParent.
Date Thu, 01 Dec 2011 00:33:40 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-7870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Eli Collins updated HADOOP-7870:
--------------------------------

       Resolution: Fixed
    Fix Version/s: 1.1.0
     Hadoop Flags: Reviewed
           Status: Resolved  (was: Patch Available)

I've committed this, thanks Jon!
                
> 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: 1.1.0
>
>         Attachments: 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

        

Mime
View raw message