You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2017/07/27 05:58:11 UTC

lucene-solr:master: SOLR-10734: AtomicUpdateProcessorFactoryTest was not truly multithreaded

Repository: lucene-solr
Updated Branches:
  refs/heads/master 1582509d0 -> edff113e1


SOLR-10734: AtomicUpdateProcessorFactoryTest was not truly multithreaded


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/edff113e
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/edff113e
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/edff113e

Branch: refs/heads/master
Commit: edff113e13f2a108d2f4177da3e88cf6f3402b23
Parents: 1582509
Author: Noble Paul <no...@apache.org>
Authored: Thu Jul 27 15:27:58 2017 +0930
Committer: Noble Paul <no...@apache.org>
Committed: Thu Jul 27 15:27:58 2017 +0930

----------------------------------------------------------------------
 .../update/processor/AtomicUpdateProcessorFactory.java |  4 ++--
 .../processor/AtomicUpdateProcessorFactoryTest.java    | 13 ++++++-------
 2 files changed, 8 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edff113e/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateProcessorFactory.java
index 2135fb7..9badb02 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateProcessorFactory.java
@@ -63,7 +63,7 @@ public class AtomicUpdateProcessorFactory extends UpdateRequestProcessorFactory
   private final static String VERSION = "_version_";
   public static final String NAME = "atomic";
   public final static String ATOMIC_FIELD_PREFIX = "atomic.";
-  private final static int MAX_ATTEMPTS = 5;
+  private final static int MAX_ATTEMPTS = 25;
 
   private VersionInfo vinfo;
 
@@ -165,7 +165,7 @@ public class AtomicUpdateProcessorFactory extends UpdateRequestProcessorFactory
       try {
         super.processAdd(cmd);
       } catch (SolrException e) {
-        if (attempts++ >= MAX_ATTEMPTS) {//maximum number of attempts allowed: 5
+        if (attempts++ >= MAX_ATTEMPTS) {//maximum number of attempts allowed: 25
           throw new SolrException(SERVER_ERROR,
               "Atomic update failed after multiple attempts due to " + e.getMessage());
         }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edff113e/solr/core/src/test/org/apache/solr/update/processor/AtomicUpdateProcessorFactoryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/AtomicUpdateProcessorFactoryTest.java b/solr/core/src/test/org/apache/solr/update/processor/AtomicUpdateProcessorFactoryTest.java
index 4534937..999d70b 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/AtomicUpdateProcessorFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/AtomicUpdateProcessorFactoryTest.java
@@ -209,7 +209,10 @@ public class AtomicUpdateProcessorFactoryTest extends SolrTestCaseJ4 {
     List<Thread> threads = new ArrayList<>(100);
     int finalCount = 0; //int_i
 
-    for (int i = 0; i < 100; i++) {
+    AtomicUpdateProcessorFactory factory = new AtomicUpdateProcessorFactory();
+    factory.inform(h.getCore());
+
+    for (int i = 0; i < 10; i++) {
       int index = random().nextInt(5);
       Thread t = new Thread() {
         @Override
@@ -229,8 +232,6 @@ public class AtomicUpdateProcessorFactoryTest extends SolrTestCaseJ4 {
           cmd.solrDoc.addField("int_i", index);
 
           try {
-            AtomicUpdateProcessorFactory factory = new AtomicUpdateProcessorFactory();
-            factory.inform(h.getCore());
             factory.getInstance(cmd.getReq(), new SolrQueryResponse(),
                 new DistributedUpdateProcessor(cmd.getReq(), new SolrQueryResponse(),
                     new RunUpdateProcessor(cmd.getReq(), null))).processAdd(cmd);
@@ -238,14 +239,12 @@ public class AtomicUpdateProcessorFactoryTest extends SolrTestCaseJ4 {
           }
         }
       };
-      t.run();
       threads.add(t);
+      t.start();
       finalCount += index; //int_i
     }
 
-    for (Thread thread: threads) {
-      thread.join();
-    }
+    for (Thread thread: threads) thread.join();
 
     assertU(commit());