Преглед изворни кода

HADOOP-7045. TestDU fails on systems with local file systems with
extended attributes. (eli)


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-204@1148069 13f79535-47bb-0310-9956-ffa450edef68

Owen O'Malley пре 14 година
родитељ
комит
50ffad6c2f
2 измењених фајлова са 17 додато и 5 уклоњено
  1. 3 0
      CHANGES.txt
  2. 14 5
      src/test/org/apache/hadoop/fs/TestDU.java

+ 3 - 0
CHANGES.txt

@@ -13,6 +13,9 @@ Release 0.20.204.0 - unreleased
 
   BUG FIXES
 
+    HADOOP-7045. TestDU fails on systems with local file systems with 
+    extended attributes. (eli)
+
     MAPREDUCE-2495. exit() the TaskTracker when the distributed cache cleanup
     thread dies. (Robert Joseph Evans via cdouglas)
 

+ 14 - 5
src/test/org/apache/hadoop/fs/TestDU.java

@@ -65,7 +65,10 @@ public class TestDU extends TestCase {
    * @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 class TestDU extends TestCase {
     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 class TestDU extends TestCase {
     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));
   }
 }