HADOOP-7870. svn merge -c 1212084 from trunk

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1212086 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Eli Collins 2011-12-08 20:23:05 +00:00
parent d25003ee40
commit 916018a699
2 changed files with 26 additions and 1 deletions

View File

@ -71,7 +71,8 @@ Release 0.23.1 - Unreleased
HADOOP-7887. KerberosAuthenticatorHandler is not setting KerberosName
name rules from configuration. (tucu)
HADOOP-7870. fix SequenceFile#createWriter with boolean
createParent arg to respect createParent. (Jon Hsieh via eli)
Release 0.23.0 - 2011-11-01

View File

@ -26,6 +26,7 @@ import org.apache.commons.logging.*;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.io.SequenceFile.CompressionType;
import org.apache.hadoop.io.SequenceFile.Metadata;
import org.apache.hadoop.io.compress.CompressionCodec;
import org.apache.hadoop.io.compress.DefaultCodec;
import org.apache.hadoop.util.ReflectionUtils;
@ -516,6 +517,29 @@ public class TestSequenceFile extends TestCase {
assertTrue("InputStream for " + path + " should have been closed.", openedFile[0].isClosed());
}
public void testRecursiveSeqFileCreate() throws IOException {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.getLocal(conf);
Path name = new Path(new Path(System.getProperty("test.build.data","."),
"recursiveCreateDir") , "file");
boolean createParent = false;
try {
SequenceFile.createWriter(fs, conf, name, RandomDatum.class,
RandomDatum.class, 512, (short) 1, 4096, createParent,
CompressionType.NONE, null, new Metadata());
fail("Expected an IOException due to missing parent");
} catch (IOException ioe) {
// Expected
}
createParent = true;
SequenceFile.createWriter(fs, conf, name, RandomDatum.class,
RandomDatum.class, 512, (short) 1, 4096, createParent,
CompressionType.NONE, null, new Metadata());
// should succeed, fails if exception thrown
}
/** For debugging and testing. */
public static void main(String[] args) throws Exception {
int count = 1024 * 1024;