From bdc71bd608b5572a38c75a917b28d5cbc9b7ce2c Mon Sep 17 00:00:00 2001 From: Arpit Agarwal Date: Wed, 14 Sep 2016 09:31:17 -0700 Subject: [PATCH] HDFS-10805. Reduce runtime for append test. Contributed by Gergely Novak. --- .../org/apache/hadoop/hdfs/AppendTestUtil.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/AppendTestUtil.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/AppendTestUtil.java index de4da5f9cfe..268bdf9df78 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/AppendTestUtil.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/AppendTestUtil.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.hdfs; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -238,7 +239,8 @@ private static void checkData(final byte[] actual, int from, } public static void testAppend(FileSystem fs, Path p) throws IOException { - final byte[] bytes = new byte[1000]; + final int size = 1000; + final byte[] bytes = randomBytes(seed, size); { //create file final FSDataOutputStream out = fs.create(p, (short)1); @@ -247,12 +249,22 @@ public static void testAppend(FileSystem fs, Path p) throws IOException { assertEquals(bytes.length, fs.getFileStatus(p).getLen()); } - for(int i = 2; i < 500; i++) { + final int appends = 50; + for (int i = 2; i < appends; i++) { //append final FSDataOutputStream out = fs.append(p); out.write(bytes); out.close(); - assertEquals(i*bytes.length, fs.getFileStatus(p).getLen()); + assertEquals(i * bytes.length, fs.getFileStatus(p).getLen()); } + + // Check the appended content + final FSDataInputStream in = fs.open(p); + for (int i = 0; i < appends - 1; i++) { + byte[] read = new byte[size]; + in.read(i * bytes.length, read, 0, size); + assertArrayEquals(bytes, read); + } + in.close(); } } \ No newline at end of file