|  | @@ -27,8 +27,10 @@ import com.google.common.base.Joiner;
 | 
	
		
			
				|  |  |  import com.google.common.base.Predicate;
 | 
	
		
			
				|  |  |  import com.google.common.collect.Lists;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import org.apache.lucene.index.IndexFileNames;
 | 
	
		
			
				|  |  |  import org.apache.lucene.store.StoreRateLimiting;
 | 
	
		
			
				|  |  |  import org.apache.lucene.util.AbstractRandomizedTest;
 | 
	
		
			
				|  |  | +import org.apache.lucene.util.Constants;
 | 
	
		
			
				|  |  |  import org.apache.lucene.util.IOUtils;
 | 
	
		
			
				|  |  |  import org.apache.lucene.util.TestUtil;
 | 
	
		
			
				|  |  |  import org.elasticsearch.ElasticsearchException;
 | 
	
	
		
			
				|  | @@ -1804,7 +1806,7 @@ public abstract class ElasticsearchIntegrationTest extends ElasticsearchTestCase
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      public void assertPathHasBeenCleared(Path path) throws Exception {
 | 
	
		
			
				|  |  |          logger.info("--> checking that [{}] has been cleared", path);
 | 
	
		
			
				|  |  | -        int count = 0;
 | 
	
		
			
				|  |  | +        final List<Path> foundFiles = new ArrayList<>();
 | 
	
		
			
				|  |  |          StringBuilder sb = new StringBuilder();
 | 
	
		
			
				|  |  |          sb.append("[");
 | 
	
		
			
				|  |  |          if (Files.exists(path)) {
 | 
	
	
		
			
				|  | @@ -1814,7 +1816,7 @@ public abstract class ElasticsearchIntegrationTest extends ElasticsearchTestCase
 | 
	
		
			
				|  |  |                      if (Files.isDirectory(file)) {
 | 
	
		
			
				|  |  |                          assertPathHasBeenCleared(file);
 | 
	
		
			
				|  |  |                      } else if (Files.isRegularFile(file)) {
 | 
	
		
			
				|  |  | -                        count++;
 | 
	
		
			
				|  |  | +                        foundFiles.add(file);
 | 
	
		
			
				|  |  |                          sb.append(file.toAbsolutePath().toString());
 | 
	
		
			
				|  |  |                          sb.append("\n");
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -1822,7 +1824,17 @@ public abstract class ElasticsearchIntegrationTest extends ElasticsearchTestCase
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          sb.append("]");
 | 
	
		
			
				|  |  | -        assertThat(count + " files exist that should have been cleaned:\n" + sb.toString(), count, equalTo(0));
 | 
	
		
			
				|  |  | +        if (Constants.WINDOWS) {
 | 
	
		
			
				|  |  | +            if (foundFiles.size() > 0) {
 | 
	
		
			
				|  |  | +                for (Path file : foundFiles) {
 | 
	
		
			
				|  |  | +                    // for now on windows we only ensure that there is at least no segments_N file left on the path
 | 
	
		
			
				|  |  | +                    // we don't have a retry mechanism in place yet.
 | 
	
		
			
				|  |  | +                    assertFalse(foundFiles.size() + " files exist that should have been cleaned:\n" + sb.toString(), file.getFileName().toString().startsWith(IndexFileNames.SEGMENTS));
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            assertThat(foundFiles.size() + " files exist that should have been cleaned:\n" + sb.toString(), foundFiles.size(), equalTo(0));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      protected static class NumShards {
 |