You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by da...@apache.org on 2017/12/29 02:18:38 UTC

lucene-solr:jira/solr-11702: SOLR-11702: Hardness testCoreTermWatcher

Repository: lucene-solr
Updated Branches:
  refs/heads/jira/solr-11702 a7b32b080 -> 520394fa5


SOLR-11702: Hardness testCoreTermWatcher


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

Branch: refs/heads/jira/solr-11702
Commit: 520394fa59c7910f3a8a9ed83f1770c0bfea3bd9
Parents: a7b32b0
Author: Cao Manh Dat <da...@apache.org>
Authored: Fri Dec 29 09:18:26 2017 +0700
Committer: Cao Manh Dat <da...@apache.org>
Committed: Fri Dec 29 09:18:26 2017 +0700

----------------------------------------------------------------------
 .../src/java/org/apache/solr/cloud/ZkShardTerms.java  |  1 -
 .../test/org/apache/solr/cloud/ZkShardTermsTest.java  | 14 ++++++--------
 2 files changed, 6 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/520394fa/solr/core/src/java/org/apache/solr/cloud/ZkShardTerms.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkShardTerms.java b/solr/core/src/java/org/apache/solr/cloud/ZkShardTerms.java
index 250630d..5dc3ff1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkShardTerms.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkShardTerms.java
@@ -153,7 +153,6 @@ public class ZkShardTerms implements AutoCloseable{
 
   private boolean saveTerms(Terms newTerms) throws KeeperException.NoNodeException {
     byte[] znodeData = Utils.toJSON(newTerms.terms);
-    // must retry on conn loss otherwise future election attempts may assume wrong LIR state
     try {
       Stat stat = zkClient.setData(znodePath, znodeData, newTerms.version, true);
       updateTerms(new Terms(newTerms.terms, stat.getVersion()));

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/520394fa/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java b/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java
index 074bc9e..fc96687 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java
@@ -168,18 +168,16 @@ public class ZkShardTermsTest extends SolrCloudTestCase {
     ZkShardTerms leaderTerms = new ZkShardTerms(collection, "shard1", cluster.getZkClient());
     leaderTerms.registerTerm("leader");
     ZkShardTerms replicaTerms = new ZkShardTerms(collection, "shard1", cluster.getZkClient());
-    replicaTerms.registerTerm("replica");
-    waitFor(2, () -> replicaTerms.getTerms().size());
-    waitFor(2, () -> leaderTerms.getTerms().size());
-
     AtomicInteger count = new AtomicInteger(0);
-    // this will get called for almost 2 times
-    ZkShardTerms.CoreTermWatcher watcher = terms -> count.incrementAndGet() < 2;
+    // this will get called for almost 3 times
+    ZkShardTerms.CoreTermWatcher watcher = terms -> count.incrementAndGet() < 3;
     replicaTerms.addListener(watcher);
-    leaderTerms.ensureTermsIsHigher("leader", Collections.singleton("replica"));
+    replicaTerms.registerTerm("replica");
     waitFor(1, count::get);
-    replicaTerms.setEqualsToMax("replica");
+    leaderTerms.ensureTermsIsHigher("leader", Collections.singleton("replica"));
     waitFor(2, count::get);
+    replicaTerms.setEqualsToMax("replica");
+    waitFor(3, count::get);
     assertEquals(0, replicaTerms.getNumListeners());
 
     leaderTerms.close();