Author: reschke
Date: Wed Feb 17 09:38:19 2016
New Revision: 1730801

URL: http://svn.apache.org/viewvc?rev=1730801&view=rev
Log:
OAK-4022: DocumentNodeStoreService journal write: log write failures

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java?rev=1730801&r1=1730800&r2=1730801&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
 Wed Feb 17 09:38:19 2016
@@ -2003,9 +2003,13 @@ public final class DocumentNodeStore
         return unsavedLastRevisions.persist(this, new 
UnsavedModifications.Snapshot() {
             @Override
             public void acquiring(Revision mostRecent) {
-                if (store.create(JOURNAL,
-                        singletonList(changes.asUpdateOp(mostRecent)))) {
+                if (store.create(JOURNAL, 
singletonList(changes.asUpdateOp(mostRecent)))) {
+                    // success: start with a new document
                     changes = JOURNAL.newDocument(getDocumentStore());
+                } else {
+                    // fail: log and keep the changes
+                    LOG.error("Failed to write to journal, accumulating 
changes for future write (~" + changes.getMemory()
+                            + " bytes).");
                 }
             }
         }, backgroundOperationLock.writeLock());


Reply via email to