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