db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rhille...@apache.org
Subject svn commit: r1584859 - /db/derby/code/trunk/java/optional/org/apache/derby/optional/lucene/LuceneSupport.java
Date Fri, 04 Apr 2014 18:19:44 GMT
Author: rhillegas
Date: Fri Apr  4 18:19:44 2014
New Revision: 1584859

URL: http://svn.apache.org/r1584859
Log:
DERBY-590: Eliminate some file-closure race conditions by explicitly closing the stream from
which index properties are read; commit derby-590-17-aa-closeInputStreamOnPropertiesFile.diff.

Modified:
    db/derby/code/trunk/java/optional/org/apache/derby/optional/lucene/LuceneSupport.java

Modified: db/derby/code/trunk/java/optional/org/apache/derby/optional/lucene/LuceneSupport.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/optional/org/apache/derby/optional/lucene/LuceneSupport.java?rev=1584859&r1=1584858&r2=1584859&view=diff
==============================================================================
--- db/derby/code/trunk/java/optional/org/apache/derby/optional/lucene/LuceneSupport.java
(original)
+++ db/derby/code/trunk/java/optional/org/apache/derby/optional/lucene/LuceneSupport.java
Fri Apr  4 18:19:44 2014
@@ -1095,8 +1095,10 @@ public class LuceneSupport implements Op
                     else
                     {
                         Properties  properties = new Properties();
+                        FileInputStream fis = new FileInputStream( file );
 
-                        properties.load( new FileInputStream( file ) );
+                        properties.load( fis );
+                        fis.close();
                         
                         return properties;
                     }
@@ -1516,9 +1518,11 @@ public class LuceneSupport implements Op
      * and files underneath it first.
      */
     static  boolean deleteFile( File file )
-        throws IOException, PrivilegedActionException
+        throws IOException, SQLException, PrivilegedActionException
     {
         boolean retval = true;
+
+        if ( !fileExists( file ) ) { return false; }
         
         if ( isDirectory( file ) )
         {
@@ -1547,15 +1551,22 @@ public class LuceneSupport implements Op
 
     /** Really delete a file */
     private static  boolean clobberFile( final File file )
-        throws IOException, PrivilegedActionException
+        throws IOException, SQLException, PrivilegedActionException
     {
         return AccessController.doPrivileged
             (
              new PrivilegedExceptionAction<Boolean>()
              {
-                public Boolean run() throws IOException
+                 public Boolean run() throws IOException, SQLException
                 {
-                    return file.delete();
+                    boolean result = file.delete();
+
+                    if ( !result )
+                    {
+                        throw newSQLException( SQLState.UNABLE_TO_DELETE_FILE, file.getAbsolutePath()
);
+                    }
+
+                    return result;
                 }
              }
              ).booleanValue();



Mime
View raw message