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());