Ver código fonte

[TEST] Fix per-segment / per-commit exclude logic in CorruptFileTest

Simon Willnauer 11 anos atrás
pai
commit
88aec9e3c0

+ 13 - 4
src/test/java/org/elasticsearch/index/store/CorruptedFileTest.java

@@ -464,10 +464,10 @@ public class CorruptedFileTest extends ElasticsearchIntegrationTest {
             files.addAll(Arrays.asList(file.listFiles(new FileFilter() {
                 @Override
                 public boolean accept(File pathname) {
-                    return pathname.isFile() && !"write.lock".equals(pathname.getName()) &&
-                            (includePerCommitFiles == true // .del and segments_N are per commit files and might change after corruption
-                                    || pathname.getName().startsWith("segments") == false
-                                    || pathname.getName().endsWith(".del") == false);
+                    if (pathname.isFile() && "write.lock".equals(pathname.getName()) == false) {
+                        return (includePerCommitFiles || isPerSegmentFile(pathname.getName()));
+                    }
+                    return false; // no dirs no write.locks
                 }
             })));
         }
@@ -514,6 +514,15 @@ public class CorruptedFileTest extends ElasticsearchIntegrationTest {
         return shardRouting;
     }
 
+    private static final boolean isPerCommitFile(String fileName) {
+        // .del and segments_N are per commit files and might change after corruption
+        return fileName.startsWith("segments") || fileName.endsWith(".del");
+    }
+
+    private static final boolean isPerSegmentFile(String fileName) {
+        return isPerCommitFile(fileName) == false;
+    }
+
     /**
      * prunes the list of index files such that only the latest del generation files are contained.
      */