HDFS-10805. Reduce runtime for append test. Contributed by Gergely Novak.

This commit is contained in:
Arpit Agarwal 2016-09-14 09:31:17 -07:00
parent 6a7ce4ee52
commit bdc71bd608
1 changed files with 15 additions and 3 deletions

View File

@ -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();
}
}