|
@@ -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 @@ public class AppendTestUtil {
|
|
|
}
|
|
|
|
|
|
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 class AppendTestUtil {
|
|
|
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();
|
|
|
}
|
|
|
}
|