瀏覽代碼

HDFS-15878. RBF: Fix TestRouterWebHDFSContractCreate#testSyncable. (#4340). Contributed by Hanley Yang.

Reviewed-by: Inigo Goiri <inigoiri@apache.org>
Signed-off-by: Ayush Saxena <ayushsaxena@apache.org>
HanleyYang 3 年之前
父節點
當前提交
835f39cefc

+ 7 - 12
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/AbstractContractCreateTest.java

@@ -264,13 +264,8 @@ public abstract class AbstractContractCreateTest extends
     describe("verify a written to file is visible after the stream is closed");
     Path path = path("testCreatedFileIsEventuallyVisible");
     FileSystem fs = getFileSystem();
-    try(
-      FSDataOutputStream out = fs.create(path,
-          false,
-          4096,
-          (short) 1,
-          1024)
-      ) {
+    try(FSDataOutputStream out = fs.create(path, false, 4096, (short) 1,
+        1024)) {
       out.write(0x01);
       out.close();
       getFileStatusEventually(fs, path, CREATE_TIMEOUT);
@@ -568,14 +563,14 @@ public abstract class AbstractContractCreateTest extends
           in.close();
 
         } catch (FileNotFoundException e) {
-          // that's OK if it's an object store, but not if its a real
-          // FS
-          if (!isSupported(IS_BLOBSTORE)) {
+          // that's OK if it's an object store or some file systems that newly created files
+          // are not immediately visible, but not if its a real FS
+          if (!isSupported(IS_BLOBSTORE) && !isSupported(CREATE_VISIBILITY_DELAYED)) {
             throw e;
           } else {
             LOG.warn(
-                "Output file was not created; this is an object store with different"
-                    + " visibility semantics");
+                "Output file was not created; this is an object store or "
+                    + "a file system with different visibility semantics");
           }
         }
       }