Repository: cayenne
Updated Branches:
  refs/heads/master 31befb1b9 -> 6b804098f


Cleanup


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/6b804098
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/6b804098
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/6b804098

Branch: refs/heads/master
Commit: 6b804098fcc0f7f674a6c4cc2ae506fedad558f2
Parents: 31befb1
Author: Nikita Timofeev <stari...@gmail.com>
Authored: Thu Feb 15 17:59:23 2018 +0300
Committer: Nikita Timofeev <stari...@gmail.com>
Committed: Thu Feb 15 17:59:23 2018 +0300

----------------------------------------------------------------------
 .../cayenne/dba/ConcurrentPkGeneratorIT.java    | 47 ++++++++------------
 1 file changed, 19 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b804098/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
index 74bddb3..3510455 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
@@ -19,7 +19,6 @@
 
 package org.apache.cayenne.dba;
 
-import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
@@ -33,8 +32,6 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import java.util.Collections;
-import java.util.Comparator;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -56,7 +53,7 @@ public class ConcurrentPkGeneratorIT extends ServerCase {
      * Attempts to discover any problems regarding thread locking in the 
PkGenerator
      */
     @Test
-    public void testConcurrentInserts() throws Exception {
+    public void testConcurrentInserts() {
 
        if(!unitDbAdapter.supportsPKGeneratorConcurrency()) {
                return;
@@ -72,22 +69,22 @@ public class ConcurrentPkGeneratorIT extends ServerCase {
                
                // perform concurrent inserts
                int numThreads = 2;
+               int insertsPerThread = 100;
+
                ExecutorService executor = 
Executors.newFixedThreadPool(numThreads);
-               Runnable task = new Runnable() {
-                       public void run() {
-                               try {
-                                       ObjectContext context = 
runtime.newContext();
-                                       for (ObjEntity entity : 
dataMap.getObjEntities()) {
-                                               
context.newObject(entity.getJavaClass());
-                                       }
-                                       context.commitChanges();
-                               } catch (Exception e) {
-                                       e.printStackTrace();
-                               }
-                       }
-               };
+               Runnable task = () -> {
+            try {
+                ObjectContext context1 = runtime.newContext();
+                for (ObjEntity entity : dataMap.getObjEntities()) {
+                    context1.newObject(entity.getJavaClass());
+                }
+                context1.commitChanges();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        };
                
-               for (int j = 0; j < 100; j++) {
+               for (int j = 0; j < insertsPerThread; j++) {
                        for (int i = 0; i < numThreads; i++) {
                                executor.submit(task);
                        }
@@ -107,17 +104,11 @@ public class ConcurrentPkGeneratorIT extends ServerCase {
                
                // check for gaps in the generated sequence numbers
                qualified1s = 
context.select(SelectQuery.query(Qualified1.class, null));
-               assertEquals(100 * numThreads, qualified1s.size());
-               
-               Collections.sort(qualified1s, new Comparator<Qualified1>() {
-                       public int compare(Qualified1 left, Qualified1 right) {
-                               Integer leftPk = Cayenne.intPKForObject(left);
-                               Integer rightPk = Cayenne.intPKForObject(right);
-                               return leftPk.compareTo(rightPk);
-                       }
-               });
-               
+               assertEquals(insertsPerThread * numThreads, qualified1s.size());
+
                // PKs will be used in order most of the time, but the 
implementation doesn't guarantee it.
+//             qualified1s.sort(Comparator.comparing(Cayenne::intPKForObject));
+//
 //             int lastPk = Cayenne.intPKForObject(qualified1s.get(0)) - 1;
 //             for (Qualified1 qualified1 : qualified1s) {
 //                     if (lastPk+1 != Cayenne.intPKForObject(qualified1)) {

Reply via email to