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 md...@apache.org on 2014/04/02 18:08:03 UTC
svn commit: r1584077 -
/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java
Author: mduerig
Date: Wed Apr 2 16:08:02 2014
New Revision: 1584077
URL: http://svn.apache.org/r1584077
Log:
OAK-26: MVCC causes write skew
Cleanup
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java?rev=1584077&r1=1584076&r2=1584077&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java Wed Apr 2 16:08:02 2014
@@ -107,7 +107,7 @@ public class CompatibilityIssuesTest ext
// same thread session refreshing doesn't come into the way
final Session session0 = createAdminSession();
try {
- FutureTask<Void> t0 = new FutureTask<Void>(new Callable<Void>() {
+ run(new Callable<Void>() {
@Override
public Void call() throws Exception {
Node testNode = session0.getNode("/").addNode("testNode");
@@ -118,8 +118,6 @@ public class CompatibilityIssuesTest ext
return null;
}
});
- new Thread(t0).start();
- t0.get();
} finally {
session0.logout();
}
@@ -127,7 +125,7 @@ public class CompatibilityIssuesTest ext
final Session session1 = createAdminSession();
final Session session2 = createAdminSession();
try {
- FutureTask<Void> t1 = new FutureTask<Void>(new Callable<Void>() {
+ run(new Callable<Void>() {
@Override
public Void call() throws Exception {
session1.getNode("/testNode").setProperty("p1", -1);
@@ -136,10 +134,8 @@ public class CompatibilityIssuesTest ext
return null;
}
});
- new Thread(t1).start();
- t1.get();
- FutureTask<Void> t2 = new FutureTask<Void>(new Callable<Void>() {
+ run(new Callable<Void>() {
@Override
public Void call() throws Exception {
session2.getNode("/testNode").setProperty("p2", -1);
@@ -148,9 +144,6 @@ public class CompatibilityIssuesTest ext
return null;
}
});
- new Thread(t2).start();
- t2.get();
-
} finally {
session1.logout();
session2.logout();
@@ -167,6 +160,12 @@ public class CompatibilityIssuesTest ext
}
}
+ private static void run(Callable<Void> callable) throws InterruptedException, ExecutionException {
+ FutureTask<Void> task = new FutureTask<Void>(callable);
+ new Thread(task).start();
+ task.get();
+ }
+
private static void check(Session session) throws RepositoryException {
if (session.getNode("/testNode").getProperty("p1").getLong() +
session.getNode("/testNode").getProperty("p2").getLong() < 0) {