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 mr...@apache.org on 2017/12/13 07:19:04 UTC

svn commit: r1817977 - in /jackrabbit/oak/trunk/oak-store-document/src: main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java test/java/org/apache/jackrabbit/oak/plugins/document/CommitRootUpdateTest.java

Author: mreutegg
Date: Wed Dec 13 07:19:04 2017
New Revision: 1817977

URL: http://svn.apache.org/viewvc?rev=1817977&view=rev
Log:
OAK-7053: Commit fails even though change made it to the DocumentStore

Modified:
    jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java
    jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitRootUpdateTest.java

Modified: jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java?rev=1817977&r1=1817976&r2=1817977&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java Wed Dec 13 07:19:04 2017
@@ -396,7 +396,7 @@ public class Commit {
                     createOrUpdateNode(store, commitRoot);
                 }
             }
-        } catch (DocumentStoreException e) {
+        } catch (Exception e) {
             // OAK-3084 do not roll back if already committed
             if (success) {
                 LOG.error("Exception occurred after commit. Rollback will be suppressed.", e);
@@ -409,7 +409,7 @@ public class Commit {
                     // and throw the original exception
                     LOG.warn("Rollback failed", ex);
                 }
-                throw e;
+                throw DocumentStoreException.convert(e);
             }
         } finally {
             if (success) {
@@ -448,7 +448,7 @@ public class Commit {
         NodeDocument.setRevision(commit, revision, commitValue);
         // make the update conditional on the modCount
         commit.equals(MOD_COUNT, doc.getModCount());
-        NodeDocument before = store.findAndUpdate(NODES, commit);
+        NodeDocument before = nodeStore.updateCommitRoot(commit, revision);
         if (before != null) {
             checkSplitCandidate(before);
         }

Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitRootUpdateTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitRootUpdateTest.java?rev=1817977&r1=1817976&r2=1817977&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitRootUpdateTest.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CommitRootUpdateTest.java Wed Dec 13 07:19:04 2017
@@ -27,7 +27,6 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -101,7 +100,6 @@ public class CommitRootUpdateTest {
         assertFalse(throwAfterUpdate.get());
     }
 
-    @Ignore
     @Test
     public void exceptionOnSingleUpdate() throws Exception {
         final AtomicBoolean throwAfterUpdate = new AtomicBoolean(false);