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/27 15:04:47 UTC
[54/54] [abbrv] lucene-solr:jira/solr-11702: SOLR-11702: Fix precommit
SOLR-11702: Fix precommit
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a7b32b08
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a7b32b08
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a7b32b08
Branch: refs/heads/jira/solr-11702
Commit: a7b32b0800d2455092642cc6ebf7da3a2d27da4a
Parents: 2352449
Author: Cao Manh Dat <da...@apache.org>
Authored: Wed Dec 27 22:03:30 2017 +0700
Committer: Cao Manh Dat <da...@apache.org>
Committed: Wed Dec 27 22:03:30 2017 +0700
----------------------------------------------------------------------
.../java/org/apache/solr/cloud/CreateCollectionCmd.java | 11 ++++++++---
.../src/test/org/apache/solr/cloud/ZkShardTermsTest.java | 7 ++++---
2 files changed, 12 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a7b32b08/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java b/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java
index 543f1e2..b63e91d 100644
--- a/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java
@@ -34,6 +34,7 @@ import java.util.concurrent.atomic.AtomicReference;
import org.apache.solr.client.solrj.cloud.autoscaling.AlreadyExistsException;
import org.apache.solr.client.solrj.cloud.autoscaling.AutoScalingConfig;
+import org.apache.solr.client.solrj.cloud.autoscaling.BadVersionException;
import org.apache.solr.client.solrj.cloud.autoscaling.DistribStateManager;
import org.apache.solr.client.solrj.cloud.autoscaling.Policy;
import org.apache.solr.client.solrj.cloud.autoscaling.PolicyHelper;
@@ -399,10 +400,14 @@ public class CreateCollectionCmd implements Cmd {
String collectionPath = ZkStateReader.COLLECTIONS_ZKNODE + "/" + collection;
String termsPath = ZkStateReader.COLLECTIONS_ZKNODE + "/" + collection + "/terms";
try {
- if (zkClient.exists(termsPath, true)) {
- zkClient.clean(termsPath);
+ if (stateManager.hasData(termsPath)) {
+ List<String> paths = stateManager.listData(termsPath);
+ for (String path : paths) {
+ stateManager.removeData(termsPath + "/" + path, -1);
+ }
+ stateManager.removeData(termsPath, -1);
}
- } catch (KeeperException | InterruptedException e) {
+ } catch (KeeperException | InterruptedException | IOException | BadVersionException e) {
throw new SolrException(ErrorCode.SERVER_ERROR, "Error deleting old term nodes for collection from Zookeeper", e);
}
try {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a7b32b08/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 83f3fb0..074bc9e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java
@@ -33,6 +33,7 @@ import java.util.function.Supplier;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
+import org.apache.solr.common.util.TimeSource;
import org.apache.solr.util.TimeOut;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -101,7 +102,7 @@ public class ZkShardTermsTest extends SolrCloudTestCase {
expectedTerms.put("rep1", 1L);
expectedTerms.put("rep2", 1L);
- TimeOut timeOut = new TimeOut(10, TimeUnit.SECONDS);
+ TimeOut timeOut = new TimeOut(10, TimeUnit.SECONDS, new TimeSource.CurrentTimeSource());
while (!timeOut.hasTimedOut()) {
if (Objects.equals(expectedTerms, rep1Terms.getTerms()) && Objects.equals(expectedTerms, rep2Terms.getTerms())) break;
}
@@ -148,7 +149,7 @@ public class ZkShardTermsTest extends SolrCloudTestCase {
long maxTerm = 0;
try (ZkShardTerms shardTerms = new ZkShardTerms(collection, "shard1", cluster.getZkClient())) {
shardTerms.registerTerm("leader");
- TimeOut timeOut = new TimeOut(10, TimeUnit.SECONDS);
+ TimeOut timeOut = new TimeOut(10, TimeUnit.SECONDS, new TimeSource.CurrentTimeSource());
while (!timeOut.hasTimedOut()) {
maxTerm++;
assertEquals(shardTerms.getTerms().get("leader"), Collections.max(shardTerms.getTerms().values()));
@@ -194,7 +195,7 @@ public class ZkShardTermsTest extends SolrCloudTestCase {
}
private <T> void waitFor(T expected, Supplier<T> supplier) throws InterruptedException {
- TimeOut timeOut = new TimeOut(2, TimeUnit.SECONDS);
+ TimeOut timeOut = new TimeOut(2, TimeUnit.SECONDS, new TimeSource.CurrentTimeSource());
while (!timeOut.hasTimedOut()) {
if (expected == supplier.get()) return;
Thread.sleep(100);