Author: reschke
Date: Tue Feb 2 12:53:23 2016
New Revision: 1728109
URL: http://svn.apache.org/viewvc?rev=1728109&view=rev
Log:
OAK-3937: Batch createOrUpdate() may fail with primary key violation
Improve test case to clear rows first, also improve diagnostics.
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/MultiDocumentStoreTest.java
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/MultiDocumentStoreTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/MultiDocumentStoreTest.java?rev=1728109&r1=1728108&r2=1728109&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/MultiDocumentStoreTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/MultiDocumentStoreTest.java
Tue Feb 2 12:53:23 2016
@@ -221,6 +221,10 @@ public class MultiDocumentStoreTest exte
ids.add(Utils.getIdFromPath("/node-" + i));
}
removeMe.addAll(ids);
+
+ // make sure not present before test run
+ ds1.remove(Collection.NODES, ids);
+
final List<Exception> exceptions = synchronizedList(new
ArrayList<Exception>());
final Map<String, NodeDocument> result1 = Maps.newHashMap();
Thread t1 = new Thread(new Runnable() {
@@ -285,7 +289,9 @@ public class MultiDocumentStoreTest exte
NodeDocument d1 = result1.get(id);
NodeDocument d2 = result2.get(id);
if (d1 != null) {
- assertNull(d2);
+ if (d2 != null) {
+ fail("found " + id + " in both result sets, modcounts are:
" + d1.getModCount() + "/" + d2.getModCount());
+ }
} else {
assertNotNull("id " + id + " is in neither result set", d2);
}