You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2017/10/18 08:45:38 UTC

svn commit: r1812477 - /jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java

Author: mduerig
Date: Wed Oct 18 08:45:38 2017
New Revision: 1812477

URL: http://svn.apache.org/viewvc?rev=1812477&view=rev
Log:
OAK-6842: Refactor FileStore.close
Also leverage the closer for releasing the file store lock and ensure proper ordering of the close calls.

Modified:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java?rev=1812477&r1=1812476&r2=1812477&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java Wed Oct 18 08:45:38 2017
@@ -129,6 +129,7 @@ public class FileStore extends AbstractF
 
     private final RandomAccessFile lockFile;
 
+    @Nonnull
     private final FileLock lock;
 
     private TarRevisions revisions;
@@ -451,16 +452,11 @@ public class FileStore extends AbstractF
             }
 
             Closer closer = Closer.create();
-            closer.register(revisions);
-            if (lock != null) {
-                try {
-                    lock.release();
-                } catch (IOException e) {
-                    log.warn("Unable to release the file lock", e);
-                }
-            }
             closer.register(lockFile);
-            closer.register(tarFiles);
+            closer.register(lock::release);
+            closer.register(tarFiles) ;
+            closer.register(revisions);
+
             closeAndLogOnFail(closer);
         }