HADOOP-7045. TestDU fails on systems with local file systems with extended attributes. Contributed by Eli Collins

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1036746 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Eli Collins 2010-11-19 06:26:22 +00:00
parent ab00be860a
commit 82c5214ab1
2 changed files with 17 additions and 5 deletions

View File

@ -19,6 +19,9 @@ Trunk (unreleased changes)
whose entries are changing (e.g. in a multi-thread or multi-process
environment). (Sanjay Radia via eli)
HADOOP-7045. TestDU fails on systems with local file systems with
extended attributes. (eli)
Release 0.22.0 - Unreleased
INCOMPATIBLE CHANGES

View File

@ -65,7 +65,10 @@ private void createFile(File newFile, int size) throws IOException {
* @throws InterruptedException
*/
public void testDU() throws IOException, InterruptedException {
int writtenSize = 32*1024; // writing 32K
final int writtenSize = 32*1024; // writing 32K
// Allow for extra 4K on-disk slack for local file systems
// that may store additional file metadata (eg ext attrs).
final int slack = 4*1024;
File file = new File(DU_DIR, "data");
createFile(file, writtenSize);
@ -76,7 +79,9 @@ public void testDU() throws IOException, InterruptedException {
long duSize = du.getUsed();
du.shutdown();
assertEquals(writtenSize, duSize);
assertTrue("Invalid on-disk size",
duSize >= writtenSize &&
writtenSize <= (duSize + slack));
//test with 0 interval, will not launch thread
du = new DU(file, 0);
@ -84,12 +89,16 @@ public void testDU() throws IOException, InterruptedException {
duSize = du.getUsed();
du.shutdown();
assertEquals(writtenSize, duSize);
assertTrue("Invalid on-disk size",
duSize >= writtenSize &&
writtenSize <= (duSize + slack));
//test without launching thread
du = new DU(file, 10000);
duSize = du.getUsed();
assertEquals(writtenSize, duSize);
assertTrue("Invalid on-disk size",
duSize >= writtenSize &&
writtenSize <= (duSize + slack));
}
}