You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2018/02/27 17:43:07 UTC
lucene-solr:jira/solr-11670: Cleanup, javadocs, improved test.
Repository: lucene-solr
Updated Branches:
refs/heads/jira/solr-11670 7265a5453 -> fd942ef19
Cleanup, javadocs, improved test.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/fd942ef1
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/fd942ef1
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/fd942ef1
Branch: refs/heads/jira/solr-11670
Commit: fd942ef19f9907e48f04942649737962b219ffa9
Parents: 7265a54
Author: Andrzej Bialecki <ab...@apache.org>
Authored: Tue Feb 27 18:42:41 2018 +0100
Committer: Andrzej Bialecki <ab...@apache.org>
Committed: Tue Feb 27 18:42:41 2018 +0100
----------------------------------------------------------------------
.../src/java/org/apache/solr/cloud/MaintenanceTask.java | 7 +++++--
.../src/java/org/apache/solr/cloud/MaintenanceTasks.java | 5 +++--
.../apache/solr/cloud/api/collections/ShardSplitTest.java | 10 ++++++++--
3 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fd942ef1/solr/core/src/java/org/apache/solr/cloud/MaintenanceTask.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/MaintenanceTask.java b/solr/core/src/java/org/apache/solr/cloud/MaintenanceTask.java
index 9f0879a..a5ba151 100644
--- a/solr/core/src/java/org/apache/solr/cloud/MaintenanceTask.java
+++ b/solr/core/src/java/org/apache/solr/cloud/MaintenanceTask.java
@@ -22,13 +22,13 @@ import java.io.IOException;
import java.util.Map;
/**
- *
+ * Represents a maintenance task to be run on Overseer leader.
*/
public interface MaintenanceTask extends Runnable, Closeable {
/**
* Initialize this task. This method may be called multiple times when configuration changes.
- * @param properties configuration properties (may contain unrelated key / values)
+ * @param properties cluster properties (may contain key / values unrelated to this implementation)
*/
void init(Map<String, Object> properties);
@@ -45,6 +45,9 @@ public interface MaintenanceTask extends Runnable, Closeable {
return getClass().getSimpleName();
}
+ /**
+ * Task is closed when it's removed from the maintenance thread, or when Overseer leader is being closed.
+ */
default void close() throws IOException {
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fd942ef1/solr/core/src/java/org/apache/solr/cloud/MaintenanceTasks.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/MaintenanceTasks.java b/solr/core/src/java/org/apache/solr/cloud/MaintenanceTasks.java
index f040d37..bba80a3 100644
--- a/solr/core/src/java/org/apache/solr/cloud/MaintenanceTasks.java
+++ b/solr/core/src/java/org/apache/solr/cloud/MaintenanceTasks.java
@@ -35,13 +35,14 @@ import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.IOUtils;
import org.apache.solr.common.util.Utils;
import org.apache.solr.util.DefaultSolrThreadFactory;
-import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.Watcher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Responsible for running periodically some maintenance tasks.
+ * Responsible for running periodically some maintenance tasks. Components can register maintenance tasks
+ * using {@link #addTask(MaintenanceTask, boolean)} method. Task defines the period (in seconds) for how
+ * often it should run.
*/
public class MaintenanceTasks implements Runnable, SolrCloseable {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fd942ef1/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
index 1ca82ba..b7b35db 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
@@ -63,6 +63,7 @@ import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.common.util.TimeSource;
import org.apache.solr.common.util.Utils;
import org.apache.solr.util.TestInjection;
import org.junit.After;
@@ -566,8 +567,13 @@ public class ShardSplitTest extends BasicDistributedZkTest {
assertNull(nl.get("failure"));
assertNull(nl.get("error"));
assertNotNull(nl.get("success"));
- // at this point there should be no inactive shards
-
+ // at this point there must be no inactive shards in this collection
+ ClusterState state = cloudClient.getZkStateReader().getClusterState();
+ DocCollection coll = state.getCollection(collectionName);
+ coll.getSlices().forEach(s -> {
+ assertTrue(coll.getName() + "/" + s.getName() + " is inactive at " + TimeSource.NANO_TIME.getTime() +", coll=" + coll,
+ s.getState() != Slice.State.INACTIVE);
+ });
}
private void incompleteOrOverlappingCustomRangeTest() throws Exception {