You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2016/02/06 14:27:00 UTC
[07/17] lucene-solr git commit: cutover more places back to deleteFile
cutover more places back to deleteFile
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/845eec10
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/845eec10
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/845eec10
Branch: refs/heads/master
Commit: 845eec103677dde05c34ffe1500a230dfecfd62e
Parents: a741ea5
Author: Mike McCandless <mi...@apache.org>
Authored: Wed Feb 3 15:44:08 2016 -0500
Committer: Mike McCandless <mi...@apache.org>
Committed: Wed Feb 3 15:44:08 2016 -0500
----------------------------------------------------------------------
.../index/TestBackwardsCompatibility.java | 2 --
.../benchmark/byTask/utils/StreamUtilsTest.java | 14 +--------
.../java/org/apache/lucene/store/Directory.java | 1 -
.../org/apache/lucene/store/FSDirectory.java | 13 ++++++--
.../lucene/index/TestIndexFileDeleter.java | 3 +-
.../taxonomy/directory/TestAddTaxonomy.java | 29 +++++++++---------
.../writercache/TestCompactLabelToOrdinal.java | 31 ++++++++++----------
.../IndexAndTaxonomyReplicationClientTest.java | 4 +--
.../replicator/IndexReplicationClientTest.java | 2 ++
.../replicator/http/HttpReplicatorTest.java | 7 ++---
.../lucene/analysis/VocabularyAssert.java | 4 +--
.../apache/lucene/mockfile/VirusCheckingFS.java | 18 +++++++-----
.../util/TestRuleTemporaryFilesCleanup.java | 2 +-
.../java/org/apache/lucene/util/TestUtil.java | 7 ++---
.../lucene/mockfile/TestVirusCheckingFS.java | 2 +-
.../org/apache/solr/core/DirectoryFactory.java | 7 +++--
.../org/apache/solr/handler/IndexFetcher.java | 4 +--
.../org/apache/solr/handler/RestoreCore.java | 4 +--
.../solr/store/blockcache/BlockDirectory.java | 11 +++----
.../apache/solr/store/hdfs/HdfsDirectory.java | 10 +++----
.../solr/store/hdfs/HdfsDirectoryTest.java | 14 +++++----
21 files changed, 87 insertions(+), 102 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java b/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
index 87cdea6..cad3974 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
@@ -60,7 +60,6 @@ import org.apache.lucene.search.TermQuery;
import org.apache.lucene.store.BaseDirectoryWrapper;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.NIOFSDirectory;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.store.SimpleFSDirectory;
@@ -584,7 +583,6 @@ public class TestBackwardsCompatibility extends LuceneTestCase {
checker.close();
dir.close();
- IOUtils.rm(oldIndexDir);
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/StreamUtilsTest.java
----------------------------------------------------------------------
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/StreamUtilsTest.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/StreamUtilsTest.java
index df6bea1..762ee5c 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/StreamUtilsTest.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/StreamUtilsTest.java
@@ -30,8 +30,6 @@ import java.nio.file.Path;
import org.apache.commons.compress.compressors.CompressorStreamFactory;
import org.apache.lucene.benchmark.BenchmarkTestCase;
-import org.apache.lucene.util.IOUtils;
-import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -135,16 +133,6 @@ public class StreamUtilsTest extends BenchmarkTestCase {
@Before
public void setUp() throws Exception {
super.setUp();
- testDir = getWorkDir().resolve("ContentSourceTest");
- IOUtils.rm(testDir);
- Files.createDirectory(testDir);
+ testDir = createTempDir("ContentSourceTest");
}
-
- @Override
- @After
- public void tearDown() throws Exception {
- IOUtils.rm(testDir);
- super.tearDown();
- }
-
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/core/src/java/org/apache/lucene/store/Directory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/Directory.java b/lucene/core/src/java/org/apache/lucene/store/Directory.java
index b6da4cc..6aa46e9 100644
--- a/lucene/core/src/java/org/apache/lucene/store/Directory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/Directory.java
@@ -47,7 +47,6 @@ public abstract class Directory implements Closeable {
*
* @throws IOException in case of IO error
*/
- // nocommit should this sort?
public abstract String[] listAll() throws IOException;
/** Removes an existing file in the directory. */
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java b/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
index a2edb84..fa6ce63 100644
--- a/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
@@ -30,6 +30,7 @@ import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.nio.file.StandardOpenOption;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -217,7 +218,12 @@ public abstract class FSDirectory extends BaseDirectory {
}
}
- return entries.toArray(new String[entries.size()]);
+ String[] array = entries.toArray(new String[entries.size()]);
+
+ // Don't let filesystem specifics leak out of this abstraction:
+ Arrays.sort(array);
+
+ return array;
}
@Override
@@ -249,7 +255,7 @@ public abstract class FSDirectory extends BaseDirectory {
return new FSIndexOutput(name,
StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.CREATE_NEW);
} catch (FileAlreadyExistsException faee) {
- // Retry with next random name
+ // Retry with next incremented name
}
}
}
@@ -303,11 +309,12 @@ public abstract class FSDirectory extends BaseDirectory {
@Override
public void deleteFile(String name) throws IOException {
- pendingDeletes.remove(name);
try {
Files.delete(directory.resolve(name));
+ pendingDeletes.remove(name);
} catch (NoSuchFileException | FileNotFoundException e) {
// We were asked to delete a non-existent file:
+ pendingDeletes.remove(name);
throw e;
} catch (IOException ioe) {
// On windows, a file delete can fail because there's still an open
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
index a5e3c7e..8c2dd91 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
@@ -39,7 +39,6 @@ import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.InfoStream;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
/*
Verify we can read the pre-2.1 file format, do searches
@@ -225,7 +224,7 @@ public class TestIndexFileDeleter extends LuceneTestCase {
public void testVirusScannerDoesntCorruptIndex() throws IOException {
Path path = createTempDir();
- VirusCheckingFS fs = new VirusCheckingFS(path.getFileSystem(), random());
+ VirusCheckingFS fs = new VirusCheckingFS(path.getFileSystem(), random().nextLong());
FileSystem filesystem = fs.getFileSystem(URI.create("file:///"));
fs.disable();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
index 215067b..7dc73e1 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestAddTaxonomy.java
@@ -1,19 +1,5 @@
package org.apache.lucene.facet.taxonomy.directory;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Random;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.DiskOrdinalMap;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.MemoryOrdinalMap;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.OrdinalMap;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.TestUtil;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -31,6 +17,21 @@ import org.apache.lucene.util.TestUtil;
* limitations under the License.
*/
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Random;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.lucene.facet.FacetTestCase;
+import org.apache.lucene.facet.taxonomy.FacetLabel;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.DiskOrdinalMap;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.MemoryOrdinalMap;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.OrdinalMap;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.IOUtils;
+import org.apache.lucene.util.TestUtil;
+
+//@SuppressFileSystems("VirusCheckingFS")
public class TestAddTaxonomy extends FacetTestCase {
private void dotest(int ncats, final int range) throws Exception {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java
----------------------------------------------------------------------
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java
index 9826645..bf67929 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/writercache/TestCompactLabelToOrdinal.java
@@ -1,20 +1,5 @@
package org.apache.lucene.facet.taxonomy.writercache;
-import java.nio.ByteBuffer;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CodingErrorAction;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
-
-import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.facet.taxonomy.FacetLabel;
-
-import org.junit.Test;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -32,6 +17,22 @@ import org.junit.Test;
* limitations under the License.
*/
+import java.nio.ByteBuffer;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CodingErrorAction;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Random;
+
+import org.apache.lucene.facet.FacetTestCase;
+import org.apache.lucene.facet.taxonomy.FacetLabel;
+import org.apache.lucene.util.LuceneTestCase.SuppressFileSystems;
+import org.junit.Test;
+
+@SuppressFileSystems("VirusCheckingFS")
public class TestCompactLabelToOrdinal extends FacetTestCase {
@Test
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyReplicationClientTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyReplicationClientTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyReplicationClientTest.java
index 51ebae6..26e68d32 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyReplicationClientTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexAndTaxonomyReplicationClientTest.java
@@ -22,7 +22,6 @@ import java.io.Closeable;
import java.io.IOException;
import java.io.PrintStream;
import java.nio.file.Path;
-import java.util.Collections;
import java.util.HashMap;
import java.util.concurrent.Callable;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -43,7 +42,6 @@ import org.apache.lucene.index.CheckIndex;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.SegmentInfos;
import org.apache.lucene.index.SnapshotDeletionPolicy;
import org.apache.lucene.replicator.IndexAndTaxonomyRevision.SnapshotDirectoryTaxonomyWriter;
import org.apache.lucene.replicator.ReplicationClient.ReplicationHandler;
@@ -54,12 +52,14 @@ import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.IOUtils;
+import org.apache.lucene.util.LuceneTestCase.SuppressFileSystems;
import org.apache.lucene.util.TestUtil;
import org.apache.lucene.util.ThreadInterruptedException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+@SuppressFileSystems("VirusCheckingFS")
public class IndexAndTaxonomyReplicationClientTest extends ReplicatorTestCase {
private static class IndexAndTaxonomyReadyCallback implements Callable<Boolean>, Closeable {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/replicator/src/test/org/apache/lucene/replicator/IndexReplicationClientTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexReplicationClientTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexReplicationClientTest.java
index 3f91013..bcbf9cb 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/IndexReplicationClientTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/IndexReplicationClientTest.java
@@ -33,12 +33,14 @@ import org.apache.lucene.replicator.ReplicationClient.SourceDirectoryFactory;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.IOUtils;
+import org.apache.lucene.util.LuceneTestCase.SuppressFileSystems;
import org.apache.lucene.util.TestUtil;
import org.apache.lucene.util.ThreadInterruptedException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+@SuppressFileSystems("VirusCheckingFS")
public class IndexReplicationClientTest extends ReplicatorTestCase {
private static class IndexReadyCallback implements Callable<Boolean>, Closeable {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java
----------------------------------------------------------------------
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java b/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java
index ecbe3b6..4298af8 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java
@@ -36,17 +36,14 @@ import org.apache.lucene.replicator.Replicator;
import org.apache.lucene.replicator.ReplicatorTestCase;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.IOUtils;
+import org.apache.lucene.util.LuceneTestCase.SuppressFileSystems;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.RuleChain;
-import org.junit.rules.TestRule;
-
-import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
+@SuppressFileSystems("VirusCheckingFS")
public class HttpReplicatorTest extends ReplicatorTestCase {
private Path clientWorkDir;
private Replicator serverReplicator;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/test-framework/src/java/org/apache/lucene/analysis/VocabularyAssert.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/analysis/VocabularyAssert.java b/lucene/test-framework/src/java/org/apache/lucene/analysis/VocabularyAssert.java
index 208eab9..ef4ff28 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/analysis/VocabularyAssert.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/analysis/VocabularyAssert.java
@@ -25,8 +25,6 @@ import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
import org.junit.Assert;
@@ -76,7 +74,7 @@ public class VocabularyAssert {
/** Run a vocabulary test against a tab-separated data file inside a zip file */
public static void assertVocabulary(Analyzer a, Path zipFile, String vocOut) throws IOException {
- Path tmp = LuceneTestCase.createTempDir().resolve("unzipped");
+ Path tmp = LuceneTestCase.createTempDir();
try (InputStream in = Files.newInputStream(zipFile)) {
TestUtil.unzip(in, tmp);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/test-framework/src/java/org/apache/lucene/mockfile/VirusCheckingFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/VirusCheckingFS.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/VirusCheckingFS.java
index 759a840..8b34551 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/VirusCheckingFS.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/VirusCheckingFS.java
@@ -22,7 +22,7 @@ import java.nio.file.AccessDeniedException;
import java.nio.file.FileSystem;
import java.nio.file.Files;
import java.nio.file.Path;
-import java.util.Random;
+import java.util.concurrent.atomic.AtomicLong;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.util.LuceneTestCase;
@@ -33,17 +33,16 @@ import org.apache.lucene.util.LuceneTestCase;
*/
public class VirusCheckingFS extends FilterFileSystemProvider {
- // nocommit cannot use random here
- final Random random;
-
private boolean enabled = true;
+ private final AtomicLong state;
+
/**
* Create a new instance, wrapping {@code delegate}.
*/
- public VirusCheckingFS(FileSystem delegate, Random random) {
+ public VirusCheckingFS(FileSystem delegate, long salt) {
super("viruschecking://", delegate);
- this.random = new Random(random.nextLong());
+ this.state = new AtomicLong(salt);
}
public void enable() {
@@ -56,11 +55,14 @@ public class VirusCheckingFS extends FilterFileSystemProvider {
@Override
public void delete(Path path) throws IOException {
+
+ // Fake but deterministic and hopefully portable like-randomness:
+ long hash = state.incrementAndGet() * path.getFileName().hashCode();
- if (enabled // test infra disables when it's "really" time to delete after test is done
+ if (enabled // test infra disables when it's "really" time to delete after test is done, so it can reclaim temp dirs
&& Files.exists(path) // important that we NOT delay a NoSuchFileException until later
&& path.getFileName().toString().equals(IndexWriter.WRITE_LOCK_NAME) == false // life is particularly difficult if the virus checker hits our lock file
- && random.nextInt(5) == 1) {
+ && (hash % 5) == 1) {
if (LuceneTestCase.VERBOSE) {
System.out.println("NOTE: VirusCheckingFS now refusing to delete " + path);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleTemporaryFilesCleanup.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleTemporaryFilesCleanup.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleTemporaryFilesCleanup.java
index 27e4fb9..6e30b4c 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleTemporaryFilesCleanup.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleTemporaryFilesCleanup.java
@@ -183,7 +183,7 @@ final class TestRuleTemporaryFilesCleanup extends TestRuleAdapter {
// nocommit true:
if (allowed(avoid, VirusCheckingFS.class) && (true || random.nextInt(10) == 1)) {
// 10% of the time we swap in virus checking (acts-like-windows) FS:
- virusCheckingFS = new VirusCheckingFS(fs, random);
+ virusCheckingFS = new VirusCheckingFS(fs, random.nextLong());
fs = virusCheckingFS.getFileSystem(null);
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java b/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
index 89af2e2..0329f4b 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
@@ -108,7 +108,6 @@ import org.junit.Assert;
import com.carrotsearch.randomizedtesting.generators.RandomInts;
import com.carrotsearch.randomizedtesting.generators.RandomPicks;
-
/**
* General utility methods for Lucene unit tests.
*/
@@ -118,14 +117,12 @@ public final class TestUtil {
}
/**
- * Convenience method unzipping zipName into destDir, cleaning up
- * destDir first.
+ * Convenience method unzipping zipName into destDir. You must pass it a clean destDir.
+ *
* Closes the given InputStream after extracting!
*/
public static void unzip(InputStream in, Path destDir) throws IOException {
in = new BufferedInputStream(in);
- IOUtils.rm(destDir);
- Files.createDirectory(destDir);
try (ZipInputStream zipInput = new ZipInputStream(in)) {
ZipEntry entry;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestVirusCheckingFS.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestVirusCheckingFS.java b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestVirusCheckingFS.java
index 17b1575..4a34ab8 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestVirusCheckingFS.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/mockfile/TestVirusCheckingFS.java
@@ -30,7 +30,7 @@ public class TestVirusCheckingFS extends MockFileSystemTestCase {
@Override
protected Path wrap(Path path) {
- FileSystem fs = new VirusCheckingFS(path.getFileSystem(), random()).getFileSystem(URI.create("file:///"));
+ FileSystem fs = new VirusCheckingFS(path.getFileSystem(), random().nextLong()).getFileSystem(URI.create("file:///"));
return new FilterPath(path, fs);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
index cf7220d..715b6a6 100644
--- a/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
@@ -22,7 +22,6 @@ import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
@@ -156,7 +155,7 @@ public abstract class DirectoryFactory implements NamedListInitializedPlugin,
*/
public void move(Directory fromDir, Directory toDir, String fileName, IOContext ioContext) throws IOException {
toDir.copyFrom(fromDir, fileName, fileName, ioContext);
- fromDir.deleteFiles(Collections.singleton(fileName));
+ fromDir.deleteFile(fileName);
}
/**
@@ -249,7 +248,9 @@ public abstract class DirectoryFactory implements NamedListInitializedPlugin,
try {
contents = dir.listAll();
if (contents != null) {
- dir.deleteFiles(Arrays.asList(contents));
+ for (String file : contents) {
+ dir.deleteFile(file);
+ }
}
} catch (IOException e) {
SolrException.log(log, "Error deleting files from Directory", e);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java b/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
index 86aaf95..862d4e7 100644
--- a/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
+++ b/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
@@ -1206,7 +1206,7 @@ public class IndexFetcher {
}
}
try {
- dir.deleteFiles(Collections.singleton(IndexFetcher.INDEX_PROPERTIES));
+ dir.deleteFile(IndexFetcher.INDEX_PROPERTIES);
} catch (IOException e) {
// no problem
}
@@ -1651,7 +1651,7 @@ public class IndexFetcher {
}
public void delete() throws Exception {
- copy2Dir.deleteFiles(Collections.singleton(saveAs));
+ copy2Dir.deleteFile(saveAs);
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/solr/core/src/java/org/apache/solr/handler/RestoreCore.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/RestoreCore.java b/solr/core/src/java/org/apache/solr/handler/RestoreCore.java
index cf426ce..735163b 100644
--- a/solr/core/src/java/org/apache/solr/handler/RestoreCore.java
+++ b/solr/core/src/java/org/apache/solr/handler/RestoreCore.java
@@ -17,11 +17,9 @@ package org.apache.solr.handler;
* limitations under the License.
*/
-import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.Collections;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
@@ -112,7 +110,7 @@ public class RestoreCore implements Callable<Boolean> {
try {
dir = core.getDirectoryFactory().get(core.getDataDir(), DirectoryFactory.DirContext.META_DATA,
core.getSolrConfig().indexConfig.lockType);
- dir.deleteFiles(Collections.singleton(IndexFetcher.INDEX_PROPERTIES));
+ dir.deleteFile(IndexFetcher.INDEX_PROPERTIES);
} finally {
if (dir != null) {
core.getDirectoryFactory().release(dir);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectory.java b/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectory.java
index da03aea..5d9a8a6 100644
--- a/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectory.java
+++ b/solr/core/src/java/org/apache/solr/store/blockcache/BlockDirectory.java
@@ -21,7 +21,6 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
-import java.util.Collection;
import java.util.Set;
import org.apache.lucene.index.IndexFileNames;
@@ -325,12 +324,10 @@ public class BlockDirectory extends FilterDirectory {
}
return dest;
}
-
- public void deleteFiles(Collection<String> names) throws IOException {
- for(String name : names) {
- cache.delete(getFileCacheName(name));
- }
- super.deleteFiles(names);
+
+ public void deleteFile(String name) throws IOException {
+ cache.delete(getFileCacheName(name));
+ super.deleteFile(name);
}
public boolean isBlockCacheReadEnabled() {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java b/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
index e5317bc..bee0f54 100644
--- a/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
+++ b/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
@@ -144,12 +144,10 @@ public class HdfsDirectory extends BaseDirectory {
}
@Override
- public void deleteFiles(Collection<String> names) throws IOException {
- for(String name : names) {
- Path path = new Path(hdfsDirPath, name);
- LOG.debug("Deleting {}", path);
- getFileSystem().delete(path, false);
- }
+ public void deleteFile(String name) throws IOException {
+ Path path = new Path(hdfsDirPath, name);
+ LOG.debug("Deleting {}", path);
+ getFileSystem().delete(path, false);
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/845eec10/solr/core/src/test/org/apache/solr/store/hdfs/HdfsDirectoryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/store/hdfs/HdfsDirectoryTest.java b/solr/core/src/test/org/apache/solr/store/hdfs/HdfsDirectoryTest.java
index e3a0e7b..153d324 100644
--- a/solr/core/src/test/org/apache/solr/store/hdfs/HdfsDirectoryTest.java
+++ b/solr/core/src/test/org/apache/solr/store/hdfs/HdfsDirectoryTest.java
@@ -18,8 +18,6 @@ package org.apache.solr.store.hdfs;
*/
import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
@@ -90,7 +88,9 @@ public class HdfsDirectoryTest extends SolrTestCaseJ4 {
@Test
public void testWritingAndReadingAFile() throws IOException {
String[] listAll = directory.listAll();
- directory.deleteFiles(Arrays.asList(listAll));
+ for (String file : listAll) {
+ directory.deleteFile(file);
+ }
IndexOutput output = directory.createOutput("testing.test", new IOContext());
output.writeInt(12345);
@@ -117,13 +117,15 @@ public class HdfsDirectoryTest extends SolrTestCaseJ4 {
assertFalse(slowFileExists(directory, "testing.test.other"));
assertTrue(slowFileExists(directory, "testing.test"));
- directory.deleteFiles(Collections.singleton("testing.test"));
+ directory.deleteFile("testing.test");
assertFalse(slowFileExists(directory, "testing.test"));
}
public void testRename() throws IOException {
String[] listAll = directory.listAll();
- directory.deleteFiles(Arrays.asList(listAll));
+ for (String file : listAll) {
+ directory.deleteFile(file);
+ }
IndexOutput output = directory.createOutput("testing.test", new IOContext());
output.writeInt(12345);
@@ -135,7 +137,7 @@ public class HdfsDirectoryTest extends SolrTestCaseJ4 {
assertEquals(12345, input.readInt());
assertEquals(input.getFilePointer(), input.length());
input.close();
- directory.deleteFiles(Collections.singleton("testing.test.renamed"));
+ directory.deleteFile("testing.test.renamed");
assertFalse(slowFileExists(directory, "testing.test.renamed"));
}