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  {