You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2014/09/04 17:56:26 UTC

svn commit: r1622506 [2/2] - in /lucene/dev/trunk: lucene/ lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/ lucene/analysis/common/src/test/org/apache/lucene/analysis/util/ lucene/analysis/stempel/src/test/org/egothor/stemmer/ lucen...

Modified: lucene/dev/trunk/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/FileUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/FileUtils.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/FileUtils.java (original)
+++ lucene/dev/trunk/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/FileUtils.java Thu Sep  4 15:56:25 2014
@@ -19,6 +19,7 @@ package org.apache.solr.morphlines.solr;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.nio.file.Files;
 
 
 class FileUtils {
@@ -39,11 +40,7 @@ class FileUtils {
           cleanDirectory(directory);
       }
 
-      if (!directory.delete()) {
-          String message =
-              "Unable to delete directory " + directory + ".";
-          throw new IOException(message);
-      }
+      Files.delete(directory.toPath());
   }
 
   /**
@@ -136,15 +133,7 @@ class FileUtils {
       if (file.isDirectory()) {
           deleteDirectory(file);
       } else {
-          boolean filePresent = file.exists();
-          if (!file.delete()) {
-              if (!filePresent){
-                  throw new FileNotFoundException("File does not exist: " + file);
-              }
-              String message =
-                  "Unable to delete file: " + file;
-              throw new IOException(message);
-          }
+          Files.delete(file.toPath());
       }
   }
 

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java Thu Sep  4 15:56:25 2014
@@ -19,6 +19,7 @@ package org.apache.solr.handler;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.Date;
 import java.util.Locale;
 
@@ -280,10 +281,12 @@ public class PingRequestHandler extends 
                                 "Unable to write healthcheck flag file", e);
       }
     } else {
-      if (healthcheck.exists() && !healthcheck.delete()){
+      try {
+        Files.deleteIfExists(healthcheck.toPath());
+      } catch (Throwable cause) {
         throw new SolrException(SolrException.ErrorCode.NOT_FOUND,
                                 "Did not successfully delete healthcheck file: "
-                                +healthcheck.getAbsolutePath());
+                                +healthcheck.getAbsolutePath(), cause);
       }
     }
   }

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/SnapPuller.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/SnapPuller.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/SnapPuller.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/SnapPuller.java Thu Sep  4 15:56:25 2014
@@ -27,6 +27,7 @@ import java.io.Writer;
 import java.nio.ByteBuffer;
 import java.nio.channels.FileChannel;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.nio.file.NoSuchFileException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -1021,28 +1022,30 @@ public class SnapPuller {
     return nameVsFile.isEmpty() ? Collections.EMPTY_LIST : nameVsFile.values();
   }
   
+  /** 
+   * This simulates File.delete exception-wise, since this class has some strange behavior with it.
+   * The only difference is it returns null on success, throws SecurityException on SecurityException, 
+   * otherwise returns Throwable preventing deletion (instead of false), for additional information.
+   */
+  static Throwable delete(File file) {
+    try {
+      Files.delete(file.toPath());
+      return null;
+    } catch (SecurityException e) {
+      throw e;
+    } catch (Throwable other) {
+      return other;
+    }
+  }
+  
   static boolean delTree(File dir) {
-    boolean isSuccess = true;
-    File contents[] = dir.listFiles();
-    if (contents != null) {
-      for (File file : contents) {
-        if (file.isDirectory()) {
-          boolean success = delTree(file);
-          if (!success) {
-            LOG.warn("Unable to delete directory : " + file);
-            isSuccess = false;
-          }
-        } else {
-          boolean success = file.delete();
-          if (!success) {
-            LOG.warn("Unable to delete file : " + file);
-            isSuccess = false;
-            return false;
-          }
-        }
-      }
+    try {
+      org.apache.lucene.util.IOUtils.rm(dir);
+      return true;
+    } catch (IOException e) {
+      LOG.warn("Unable to delete directory : " + dir, e);
+      return false;
     }
-    return isSuccess && dir.delete();
   }
 
   /**
@@ -1574,9 +1577,12 @@ public class SnapPuller {
         //if the download is not complete then
         //delete the file being downloaded
         try {
-          file.delete();
-        } catch (Exception e) {
+          Files.delete(file.toPath());
+        } catch (SecurityException e) {
           LOG.error("Error deleting file in cleanup" + e.getMessage());
+        } catch (Throwable other) {
+          // TODO: should this class care if a file couldnt be deleted?
+          // this just emulates previous behavior, where only SecurityException would be handled.
         }
         //if the failure is due to a user abort it is returned nomally else an exception is thrown
         if (!aborted)

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/ManagedResourceStorage.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/ManagedResourceStorage.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/ManagedResourceStorage.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/rest/ManagedResourceStorage.java Thu Sep  4 15:56:25 2014
@@ -30,6 +30,7 @@ import java.io.OutputStreamWriter;
 import java.io.Reader;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
@@ -183,7 +184,21 @@ public abstract class ManagedResourceSto
     @Override
     public boolean delete(String storedResourceId) throws IOException {
       File storedFile = new File(storageDir, storedResourceId);
-      return storedFile.isFile() ? storedFile.delete() : false;
+      return deleteIfFile(storedFile);
+    }
+    
+    // TODO: this interface should probably be changed, this simulates the old behavior,
+    // only throw security exception, just return false otherwise
+    private boolean deleteIfFile(File f) {
+      if (!f.isFile()) {
+        return false;
+      }
+      try {
+        Files.delete(f.toPath());
+        return true;
+      } catch (IOException cause) {
+        return false;
+      }
     }
 
     @Override

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/TransactionLog.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/TransactionLog.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/TransactionLog.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/TransactionLog.java Thu Sep  4 15:56:25 2014
@@ -24,6 +24,7 @@ import java.io.RandomAccessFile;
 import java.nio.ByteBuffer;
 import java.nio.channels.Channels;
 import java.nio.channels.FileChannel;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
@@ -543,7 +544,12 @@ public class TransactionLog {
       }
 
       if (deleteOnClose) {
-        tlogFile.delete();
+        try {
+          Files.deleteIfExists(tlogFile.toPath());
+        } catch (IOException e) {
+          // TODO: should this class care if a file couldnt be deleted?
+          // this just emulates previous behavior, where only SecurityException would be handled.
+        }
       }
     } catch (IOException e) {
       throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateLog.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateLog.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateLog.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateLog.java Thu Sep  4 15:56:25 2014
@@ -24,6 +24,7 @@ import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FilenameFilter;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -1444,10 +1445,8 @@ public class UpdateLog implements Plugin
   public static void deleteFile(File file) {
     boolean success = false;
     try {
-      success = file.delete();
-      if (!success) {
-        log.error("Error deleting file: " + file);
-      }
+      Files.deleteIfExists(file.toPath());
+      success = true;
     } catch (Exception e) {
       log.error("Error deleting file: " + file, e);
     }
@@ -1489,9 +1488,11 @@ public class UpdateLog implements Plugin
       String[] files = getLogList(tlogDir);
       for (String file : files) {
         File f = new File(tlogDir, file);
-        boolean s = f.delete();
-        if (!s) {
-          log.error("Could not remove tlog file:" + f);
+        try {
+          Files.delete(f.toPath());
+        } catch (IOException cause) {
+          // NOTE: still throws SecurityException as before.
+          log.error("Could not remove tlog file:" + f, cause);
         }
       }
     }

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/util/VersionedFile.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/util/VersionedFile.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/util/VersionedFile.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/util/VersionedFile.java Thu Sep  4 15:56:25 2014
@@ -21,7 +21,9 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FilenameFilter;
+import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -95,7 +97,12 @@ public class VersionedFile 
       List<File> deleted = new ArrayList<>();
       for (File df : deleteList) {
         try {
-          df.delete();
+          try {
+            Files.deleteIfExists(df.toPath());
+          } catch (IOException cause) {
+            // TODO: should this class care if a file couldnt be deleted?
+            // this just emulates previous behavior, where only SecurityException would be handled.
+          }
           // deleteList.remove(df);
           deleted.add(df);
         } catch (SecurityException e) {

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java Thu Sep  4 15:56:25 2014
@@ -26,6 +26,7 @@ import java.util.regex.Pattern;
 
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.BasicResponseHandler;
+import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.TestUtil;
 import org.apache.solr.SolrTestCaseJ4.SuppressSSL;
 import org.apache.solr.client.solrj.SolrQuery;
@@ -487,7 +488,7 @@ public class BasicDistributedZk2Test ext
     assertEquals(Arrays.asList(files).toString(), 1, files.length);
     File snapDir = files[0];
     
-    TestUtil.rm(snapDir);
+    IOUtils.rm(snapDir);
   }
   
   private void addNewReplica() throws Exception {

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java Thu Sep  4 15:56:25 2014
@@ -22,6 +22,7 @@ import junit.framework.Assert;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.core.KeywordTokenizerFactory;
 import org.apache.lucene.analysis.ngram.NGramFilterFactory;
+import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.TestUtil;
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.common.SolrException;
@@ -76,7 +77,7 @@ public class ResourceLoaderTest extends 
       }
       loader.close();
     } finally {
-      TestUtil.rm(temp);
+      IOUtils.rm(temp);
     }
   }
 

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java Thu Sep  4 15:56:25 2014
@@ -28,6 +28,7 @@ import org.junit.Before;
 import org.junit.Test;
 
 import java.io.File;
+import java.nio.file.Files;
 import java.util.Map;
 
 public class SolrCoreCheckLockOnStartupTest extends SolrTestCaseJ4 {
@@ -41,7 +42,7 @@ public class SolrCoreCheckLockOnStartupT
     // test tests native and simple in the same jvm in the same exact directory:
     // the file will remain after the native test (it cannot safely be deleted without the risk of deleting another guys lock)
     // its ok, these aren't "compatible" anyway: really this test should not re-use the same directory at all.
-    new File(new File(initCoreDataDir, "index"), IndexWriter.WRITE_LOCK_NAME).delete();
+    Files.deleteIfExists(new File(new File(initCoreDataDir, "index"), IndexWriter.WRITE_LOCK_NAME).toPath());
   }
 
   @Test

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java Thu Sep  4 15:56:25 2014
@@ -132,6 +132,5 @@ public class TestArbitraryIndexDir exten
         "*[count(//doc)=1]"
     );
     dir.close();
-    newDir.delete();
   }
 }

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java Thu Sep  4 15:56:25 2014
@@ -30,6 +30,7 @@ import org.junit.Test;
 
 import java.io.*;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.util.List;
 import java.util.ArrayList;
 
@@ -62,7 +63,7 @@ public class TestCSVLoader extends SolrT
     // if you override setUp or tearDown, you better call
     // the super classes version
     super.tearDown();
-    deleteFile();
+    Files.delete(file.toPath());
   }
 
   void makeFile(String contents) {
@@ -75,10 +76,6 @@ public class TestCSVLoader extends SolrT
     }
   }
 
-  void deleteFile() {
-    file.delete();
-  }
-
   void cleanup() {
     assertU(delQ("*:*"));
     assertU(commit());

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java Thu Sep  4 15:56:25 2014
@@ -34,6 +34,7 @@ import java.util.Collection;
 import java.util.Date;
 import java.util.Set;
 
+import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.LuceneTestCase.Slow;
 import org.apache.lucene.util.TestUtil;
 import org.apache.solr.BaseDistributedSearchTestCase;
@@ -1437,7 +1438,7 @@ public class TestReplicationHandler exte
     }
 
     public void tearDown() throws Exception {
-      TestUtil.rm(homeDir);
+      IOUtils.rm(homeDir);
     }
 
     public void copyConfigFile(String srcFile, String destFile) 

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerBackup.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerBackup.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerBackup.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerBackup.java Thu Sep  4 15:56:25 2014
@@ -214,7 +214,7 @@ public class TestReplicationHandlerBacku
 
     } finally {
       if(!namedBackup) {
-        TestUtil.rm(snapDir);
+        org.apache.lucene.util.IOUtils.rm(snapDir);
       }
     }
   }

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestCollationField.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestCollationField.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestCollationField.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestCollationField.java Thu Sep  4 15:56:25 2014
@@ -64,8 +64,6 @@ public class TestCollationField extends 
   public static String setupSolrHome() throws Exception {
     // make a solr home underneath the test's TEMP_DIR
     File tmpFile = createTempDir("collation1");
-    tmpFile.delete();
-    tmpFile.mkdir();
     
     // make data and conf dirs
     new File(tmpFile, "data").mkdir();

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestCollationFieldDocValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestCollationFieldDocValues.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestCollationFieldDocValues.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestCollationFieldDocValues.java Thu Sep  4 15:56:25 2014
@@ -62,8 +62,6 @@ public class TestCollationFieldDocValues
   public static String setupSolrHome() throws Exception {
     // make a solr home underneath the test's TEMP_DIR
     File tmpFile = createTempDir("collation1");
-    tmpFile.delete();
-    tmpFile.mkdir();
     
     // make data and conf dirs
     new File(tmpFile, "data").mkdir();

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestManagedSchema.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestManagedSchema.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestManagedSchema.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/schema/TestManagedSchema.java Thu Sep  4 15:56:25 2014
@@ -18,6 +18,7 @@ package org.apache.solr.schema;
 
 import java.io.File;
 import java.io.FileInputStream;
+import java.nio.file.Files;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
@@ -163,7 +164,7 @@ public class TestManagedSchema extends A
     assertSchemaResource(collection, "managed-schema");
     deleteCore();
     File managedSchemaFile = new File(tmpConfDir, "managed-schema");
-    assertTrue(managedSchemaFile.delete()); // Delete managed-schema so it won't block parsing a new schema
+    Files.delete(managedSchemaFile.toPath()); // Delete managed-schema so it won't block parsing a new schema
 
     System.setProperty("managed.schema.mutable", "true");
     initCore("solrconfig-managed-schema.xml", "schema-one-field-no-dynamic-field.xml", tmpSolrHome.getPath());
@@ -192,7 +193,7 @@ public class TestManagedSchema extends A
     assertSchemaResource(collection, "managed-schema");
     deleteCore();
     File managedSchemaFile = new File(tmpConfDir, "managed-schema");
-    assertTrue(managedSchemaFile.delete()); // Delete managed-schema so it won't block parsing a new schema
+    Files.delete(managedSchemaFile.toPath()); // Delete managed-schema so it won't block parsing a new schema
     System.setProperty("managed.schema.mutable", "true");
     initCore("solrconfig-managed-schema.xml", "schema-one-field-no-dynamic-field.xml", tmpSolrHome.getPath());
 
@@ -239,7 +240,7 @@ public class TestManagedSchema extends A
   public void testAddFieldWhenItAlreadyExists() throws Exception{
     deleteCore();
     File managedSchemaFile = new File(tmpConfDir, "managed-schema");
-    assertTrue(managedSchemaFile.delete()); // Delete managed-schema so it won't block parsing a new schema
+    Files.delete(managedSchemaFile.toPath()); // Delete managed-schema so it won't block parsing a new schema
     System.setProperty("managed.schema.mutable", "true");
     initCore("solrconfig-managed-schema.xml", "schema-one-field-no-dynamic-field.xml", tmpSolrHome.getPath());
 
@@ -272,7 +273,7 @@ public class TestManagedSchema extends A
   public void testAddSameFieldTwice() throws Exception{
     deleteCore();
     File managedSchemaFile = new File(tmpConfDir, "managed-schema");
-    assertTrue(managedSchemaFile.delete()); // Delete managed-schema so it won't block parsing a new schema
+    Files.delete(managedSchemaFile.toPath()); // Delete managed-schema so it won't block parsing a new schema
     System.setProperty("managed.schema.mutable", "true");
     initCore("solrconfig-managed-schema.xml", "schema-one-field-no-dynamic-field.xml", tmpSolrHome.getPath());
 
@@ -307,7 +308,7 @@ public class TestManagedSchema extends A
   public void testAddDynamicField() throws Exception{
     deleteCore();
     File managedSchemaFile = new File(tmpConfDir, "managed-schema");
-    assertTrue(managedSchemaFile.delete()); // Delete managed-schema so it won't block parsing a new schema
+    Files.delete(managedSchemaFile.toPath()); // Delete managed-schema so it won't block parsing a new schema
     System.setProperty("managed.schema.mutable", "true");
     initCore("solrconfig-managed-schema.xml", "schema-one-field-no-dynamic-field.xml", tmpSolrHome.getPath());
 
@@ -340,7 +341,7 @@ public class TestManagedSchema extends A
   public void testAddWithSchemaCodecFactory() throws Exception {
     deleteCore();
     File managedSchemaFile = new File(tmpConfDir, "managed-schema");
-    assertTrue(managedSchemaFile.delete()); // Delete managed-schema so it won't block parsing a new schema
+    Files.delete(managedSchemaFile.toPath()); // Delete managed-schema so it won't block parsing a new schema
     System.setProperty("managed.schema.mutable", "true");
     initCore("solrconfig-managed-schema.xml", "schema_codec.xml", tmpSolrHome.getPath());
 
@@ -368,7 +369,7 @@ public class TestManagedSchema extends A
   public void testAddWithSchemaSimilarityFactory() throws Exception {
     deleteCore();
     File managedSchemaFile = new File(tmpConfDir, "managed-schema");
-    assertTrue(managedSchemaFile.delete()); // Delete managed-schema so it won't block parsing a new schema
+    Files.delete(managedSchemaFile.toPath()); // Delete managed-schema so it won't block parsing a new schema
     System.setProperty("managed.schema.mutable", "true");
     initCore("solrconfig-managed-schema.xml", "schema-bm25.xml", tmpSolrHome.getPath());
 
@@ -397,7 +398,7 @@ public class TestManagedSchema extends A
     assertSchemaResource(collection, "managed-schema");
     deleteCore();
     File managedSchemaFile = new File(tmpConfDir, "managed-schema");
-    assertTrue(managedSchemaFile.delete()); // Delete managed-schema so it won't block parsing a new schema
+    Files.delete(managedSchemaFile.toPath()); // Delete managed-schema so it won't block parsing a new schema
     System.setProperty("managed.schema.mutable", "true");
     initCore("solrconfig-managed-schema.xml", "schema-one-field-no-dynamic-field-unique-key.xml", tmpSolrHome.getPath());
 
@@ -433,7 +434,7 @@ public class TestManagedSchema extends A
   public void testAddFieldThenReload() throws Exception {
     deleteCore();
     File managedSchemaFile = new File(tmpConfDir, "managed-schema");
-    assertTrue(managedSchemaFile.delete()); // Delete managed-schema so it won't block parsing a new schema
+    Files.delete(managedSchemaFile.toPath()); // Delete managed-schema so it won't block parsing a new schema
     System.setProperty("managed.schema.mutable", "true");
     initCore("solrconfig-managed-schema.xml", "schema-one-field-no-dynamic-field.xml", tmpSolrHome.getPath());
 

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/TestRecovery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/TestRecovery.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/TestRecovery.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/TestRecovery.java Thu Sep  4 15:56:25 2014
@@ -34,6 +34,7 @@ import org.junit.Test;
 import java.io.File;
 import java.io.RandomAccessFile;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.util.ArrayDeque;
 import java.util.Arrays;
 import java.util.Deque;
@@ -762,7 +763,7 @@ public class TestRecovery extends SolrTe
 
       String[] files = ulog.getLogList(logDir);
       for (String file : files) {
-        new File(logDir, file).delete();
+        Files.delete(new File(logDir, file).toPath());
       }
 
       assertEquals(0, ulog.getLogList(logDir).length);
@@ -1094,7 +1095,7 @@ public class TestRecovery extends SolrTe
     try {
       String[] files = ulog.getLogList(logDir);
       for (String file : files) {
-        new File(logDir, file).delete();
+        Files.delete(new File(logDir, file).toPath());
       }
 
       assertEquals(0, ulog.getLogList(logDir).length);

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/servlet/CacheHeaderTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/servlet/CacheHeaderTest.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/servlet/CacheHeaderTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/servlet/CacheHeaderTest.java Thu Sep  4 15:56:25 2014
@@ -23,6 +23,7 @@ import java.io.FileOutputStream;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.util.Arrays;
 import java.util.Date;
 
@@ -64,7 +65,7 @@ public class CacheHeaderTest extends Cac
     HttpResponse response = getClient().execute(m);
     assertEquals(200, response.getStatusLine().getStatusCode());
     checkVetoHeaders(response, true);
-    f.delete();
+    Files.delete(f.toPath());
   }
   
   @Test

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java Thu Sep  4 15:56:25 2014
@@ -28,6 +28,7 @@ import org.apache.lucene.store.IOContext
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
 import org.apache.lucene.store.MergeInfo;
+import org.apache.lucene.util.IOUtils;
 import org.apache.solr.SolrTestCaseJ4;
 import org.junit.After;
 import org.junit.Before;
@@ -232,15 +233,12 @@ public class BlockDirectoryTest extends 
   }
 
   public static void rm(File file) {
-    if (!file.exists()) {
-      return;
-    }
-    if (file.isDirectory()) {
-      for (File f : file.listFiles()) {
-        rm(f);
-      }
+    try {
+      IOUtils.rm(file);
+    } catch (Throwable ignored) {
+      // TODO: should this class care if a file couldnt be deleted?
+      // this just emulates previous behavior, where only SecurityException would be handled.
     }
-    file.delete();
   }
 
   /**

Modified: lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrServer.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrServer.java (original)
+++ lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrServer.java Thu Sep  4 15:56:25 2014
@@ -28,6 +28,7 @@ import junit.framework.Assert;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.http.client.HttpClient;
+import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.LuceneTestCase.Slow;
 import org.apache.lucene.util.QuickPatchThreadsFilter;
@@ -305,7 +306,7 @@ public class TestLBHttpSolrServer extend
 
     public void tearDown() throws Exception {
       if (jetty != null) jetty.stop();
-      TestUtil.rm(homeDir);
+      IOUtils.rm(homeDir);
     }
 
     public void startJetty() throws Exception {

Modified: lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java?rev=1622506&r1=1622505&r2=1622506&view=diff
==============================================================================
--- lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java (original)
+++ lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java Thu Sep  4 15:56:25 2014
@@ -1038,12 +1038,12 @@ public abstract class SolrTestCaseJ4 ext
   }
 
   /**
-   * @see TestUtil#rm(File...)
+   * @see IOUtils#rm(File...)
    */
   @Deprecated()
   public static boolean recurseDelete(File f) {
     try {
-      TestUtil.rm(f);
+      IOUtils.rm(f);
       return true;
     } catch (IOException e) {
       System.err.println(e.toString());