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 re...@apache.org on 2014/05/16 13:31:10 UTC

svn commit: r1595161 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java

Author: reschke
Date: Fri May 16 11:31:10 2014
New Revision: 1595161

URL: http://svn.apache.org/r1595161
Log:
OAK-1831 - catch ID mismatches in create operations

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java?rev=1595161&r1=1595160&r2=1595161&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java Fri May 16 11:31:10 2014
@@ -386,6 +386,9 @@ public class RDBDocumentStore implements
                 T doc = collection.newDocument(this);
                 update.increment(MODCOUNT, 1);
                 UpdateUtils.applyChanges(doc, update, comparator);
+                if (!update.getId().equals(doc.getId())) {
+                    throw new MicroKernelException("ID mismatch - UpdateOp: " + update.getId() + ", ID property: " + doc.getId());
+                }
                 insertDocument(collection, doc);
                 addToCache(collection, doc);
             }
@@ -468,8 +471,7 @@ public class RDBDocumentStore implements
                 }
 
                 return oldDoc;
-            }
-            finally {
+            } finally {
                 l.unlock();
             }
         }
@@ -668,7 +670,7 @@ public class RDBDocumentStore implements
 
     // low level operations
 
-    private static byte[] GZIPSIG = {31, -117};
+    private static byte[] GZIPSIG = { 31, -117 };
     private static boolean NOGZIP = Boolean.getBoolean("org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.NOGZIP");
 
     private String getData(ResultSet rs, int stringIndex, int blobIndex) throws SQLException {

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java?rev=1595161&r1=1595160&r2=1595161&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java Fri May 16 11:31:10 2014
@@ -126,7 +126,7 @@ public class BasicDocumentStoreTest exte
     public void testDeleteNonExistingMultiple() {
         String id = this.getClass().getName() + ".testDeleteNonExistingMultiple-" + UUID.randomUUID();
         // create a test node
-        UpdateOp up = new UpdateOp(id, true);
+        UpdateOp up = new UpdateOp(id + "-2", true);
         up.set("_id", id + "-2");
         boolean success = super.ds.create(Collection.NODES, Collections.singletonList(up));
         assertTrue(success);