Author: alexparvulescu
Date: Wed Oct 19 07:24:19 2016
New Revision: 1765542

URL: http://svn.apache.org/viewvc?rev=1765542&view=rev
Log:
OAK-4948 Prevent FileStore flush call before it's fully initialized


Modified:
    
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
    
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.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=1765542&r1=1765541&r2=1765542&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 19 07:24:19 2016
@@ -364,6 +364,9 @@ public class FileStore extends AbstractF
     }
 
     public void flush() throws IOException {
+        if (revisions == null) {
+            return;
+        }
         revisions.flush(new Callable<Void>() {
             @Override
             public Void call() throws Exception {

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.java?rev=1765542&r1=1765541&r2=1765542&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarRevisions.java
 Wed Oct 19 07:24:19 2016
@@ -195,7 +195,9 @@ public class TarRevisions implements Rev
      * @throws IOException
      */
     public void flush(@Nonnull Callable<Void> persisted) throws IOException {
-        checkBound();
+        if (head.get() == null) {
+            return;
+        }
         if (flushLock.tryLock()) {
             try {
                 RecordId before = persistedHead.get();


Reply via email to