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 2017/10/13 18:05:05 UTC

[7/9] lucene-solr:jira/solr-11285: SOLR-11285: Add some javadocs, move some interfaces to more suitable packages.

SOLR-11285: Add some javadocs, move some interfaces to more suitable packages.


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

Branch: refs/heads/jira/solr-11285
Commit: a076f72d13758aad20e903893ae4f9b9436a310f
Parents: ec0214b
Author: Andrzej Bialecki <ab...@apache.org>
Authored: Fri Oct 13 16:22:33 2017 +0200
Committer: Andrzej Bialecki <ab...@apache.org>
Committed: Fri Oct 13 16:22:33 2017 +0200

----------------------------------------------------------------------
 .../org/apache/solr/cloud/ZkController.java     |  1 -
 .../solr/cloud/ZkDistributedQueueFactory.java   | 43 +++++++++++++++++++
 .../cloud/autoscaling/AutoScalingHandler.java   |  7 ++--
 .../autoscaling/ZkDistributedQueueFactory.java  | 44 --------------------
 .../org/apache/solr/cloud/OverseerTest.java     |  1 -
 .../solr/cloud/autoscaling/TestPolicyCloud.java |  4 +-
 .../client/solrj/cloud/DistributedQueue.java    | 13 +++++-
 .../solrj/cloud/DistributedQueueFactory.java    | 28 +++++++++++++
 .../autoscaling/DelegatingCloudManager.java     |  3 +-
 .../DelegatingClusterStateProvider.java         |  2 +-
 .../DelegatingNodeStateProvider.java            |  2 +-
 .../cloud/autoscaling/DistribStateManager.java  |  2 +-
 .../cloud/autoscaling/NodeStateProvider.java    |  5 +--
 .../cloud/autoscaling/SolrCloudManager.java     |  8 +---
 .../solrj/cloud/autoscaling/VersionedData.java  |  8 +++-
 .../solrj/impl/SolrClientCloudManager.java      |  1 +
 .../solrj/cloud/autoscaling/TestPolicy.java     |  1 +
 17 files changed, 108 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/java/org/apache/solr/cloud/ZkController.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index add4908c..35171da 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -59,7 +59,6 @@ import org.apache.solr.client.solrj.impl.SolrClientCloudManager;
 import org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider;
 import org.apache.solr.client.solrj.request.CoreAdminRequest.WaitForState;
 import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventType;
-import org.apache.solr.cloud.autoscaling.ZkDistributedQueueFactory;
 import org.apache.solr.cloud.overseer.OverseerAction;
 import org.apache.solr.cloud.overseer.SliceMutator;
 import org.apache.solr.common.SolrException;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/java/org/apache/solr/cloud/ZkDistributedQueueFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkDistributedQueueFactory.java b/solr/core/src/java/org/apache/solr/cloud/ZkDistributedQueueFactory.java
new file mode 100644
index 0000000..1cf79e5
--- /dev/null
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkDistributedQueueFactory.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.cloud;
+
+import java.io.IOException;
+
+import org.apache.solr.client.solrj.cloud.DistributedQueue;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
+import org.apache.solr.common.cloud.SolrZkClient;
+
+/**
+ * Implementation of {@link DistributedQueueFactory} that uses ZooKeeper.
+ */
+public class ZkDistributedQueueFactory implements DistributedQueueFactory {
+  private final SolrZkClient zkClient;
+
+  public ZkDistributedQueueFactory(SolrZkClient zkClient) {
+    this.zkClient = zkClient;
+  }
+  @Override
+  public DistributedQueue makeQueue(String path) throws IOException {
+    return new ZkDistributedQueue(zkClient, path);
+  }
+
+  @Override
+  public void removeQueue(String path) throws IOException {
+
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
index f29d498..3d0f8e1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
@@ -36,17 +36,18 @@ import java.util.stream.Stream;
 
 import org.apache.solr.api.Api;
 import org.apache.solr.api.ApiBag;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
 import org.apache.solr.client.solrj.cloud.autoscaling.AutoScalingConfig;
 import org.apache.solr.client.solrj.cloud.autoscaling.Cell;
 import org.apache.solr.client.solrj.cloud.autoscaling.Clause;
 import org.apache.solr.client.solrj.cloud.autoscaling.Policy;
 import org.apache.solr.client.solrj.cloud.autoscaling.Preference;
 import org.apache.solr.client.solrj.cloud.autoscaling.Row;
-import org.apache.solr.client.solrj.cloud.autoscaling.SolrCloudManager;
 import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventProcessorStage;
 import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventType;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.impl.SolrClientCloudManager;
+import org.apache.solr.cloud.ZkDistributedQueueFactory;
 import org.apache.solr.common.MapWriter;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.cloud.ZkStateReader;
@@ -215,7 +216,7 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
     try (CloudSolrClient build = new CloudSolrClient.Builder()
         .withHttpClient(container.getUpdateShardHandler().getHttpClient())
         .withZkHost(container.getZkController().getZkServerAddress()).build()) {
-      SolrCloudManager.DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(container.getZkController().getZkClient());
+      DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(container.getZkController().getZkClient());
       Policy.Session session = policy.createSession(new SolrClientCloudManager(queueFactory, build));
       List<Row> sorted = session.getSorted();
       List<Clause.Violation> violations = session.getViolations();
@@ -640,7 +641,7 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
     try (CloudSolrClient build = new CloudSolrClient.Builder()
         .withHttpClient(container.getUpdateShardHandler().getHttpClient())
         .withZkHost(container.getZkController().getZkServerAddress()).build()) {
-      SolrCloudManager.DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(container.getZkController().getZkClient());
+      DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(container.getZkController().getZkClient());
       Policy.Session session = autoScalingConf.getPolicy()
           .createSession(new SolrClientCloudManager(queueFactory, build));
       log.debug("Verified autoscaling configuration");

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/java/org/apache/solr/cloud/autoscaling/ZkDistributedQueueFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/ZkDistributedQueueFactory.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/ZkDistributedQueueFactory.java
deleted file mode 100644
index 0b1c5f8..0000000
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/ZkDistributedQueueFactory.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.solr.cloud.autoscaling;
-
-import java.io.IOException;
-
-import org.apache.solr.client.solrj.cloud.DistributedQueue;
-import org.apache.solr.client.solrj.cloud.autoscaling.SolrCloudManager;
-import org.apache.solr.cloud.ZkDistributedQueue;
-import org.apache.solr.common.cloud.SolrZkClient;
-
-/**
- *
- */
-public class ZkDistributedQueueFactory implements SolrCloudManager.DistributedQueueFactory {
-  private final SolrZkClient zkClient;
-
-  public ZkDistributedQueueFactory(SolrZkClient zkClient) {
-    this.zkClient = zkClient;
-  }
-  @Override
-  public DistributedQueue makeQueue(String path) throws IOException {
-    return new ZkDistributedQueue(zkClient, path);
-  }
-
-  @Override
-  public void removeQueue(String path) throws IOException {
-
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
index be8da4d..527a28b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
@@ -42,7 +42,6 @@ import org.apache.solr.client.solrj.cloud.autoscaling.SolrCloudManager;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.impl.SolrClientCloudManager;
 import org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider;
-import org.apache.solr.cloud.autoscaling.ZkDistributedQueueFactory;
 import org.apache.solr.cloud.overseer.NodeMutator;
 import org.apache.solr.cloud.overseer.OverseerAction;
 import org.apache.solr.cloud.overseer.ZkWriteCommand;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
index 1de575e..4136d27 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
@@ -28,6 +28,7 @@ import org.apache.lucene.util.Constants;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
 import org.apache.solr.client.solrj.cloud.autoscaling.SolrCloudManager;
 import org.apache.solr.client.solrj.embedded.JettySolrRunner;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
@@ -36,6 +37,7 @@ import org.apache.solr.client.solrj.impl.SolrClientCloudManager;
 import org.apache.solr.client.solrj.request.CollectionAdminRequest;
 import org.apache.solr.cloud.OverseerTaskProcessor;
 import org.apache.solr.cloud.SolrCloudTestCase;
+import org.apache.solr.cloud.ZkDistributedQueueFactory;
 import org.apache.solr.common.cloud.DocCollection;
 import org.apache.solr.common.cloud.Replica;
 import org.apache.solr.common.cloud.ZkStateReader;
@@ -169,7 +171,7 @@ public class TestPolicyCloud extends SolrCloudTestCase {
     CollectionAdminRequest.createCollection("metricsTest", "conf", 1, 1)
         .process(cluster.getSolrClient());
     DocCollection collection = getCollectionState("metricsTest");
-    SolrCloudManager.DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(cluster.getZkClient());
+    DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(cluster.getZkClient());
     SolrCloudManager provider = new SolrClientCloudManager(queueFactory, solrClient);
     List<String> tags = Arrays.asList("metrics:solr.node:ADMIN./admin/authorization.clientErrors:count",
         "metrics:solr.jvm:buffers.direct.Count");

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueue.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueue.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueue.java
index c420e54..9a31bff 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueue.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueue.java
@@ -23,7 +23,7 @@ import java.util.function.Predicate;
 import org.apache.solr.common.util.Pair;
 
 /**
- *
+ * Distributed queue component. Methods largely follow those in {@link java.util.Queue}.
  */
 public interface DistributedQueue {
   byte[] peek() throws Exception;
@@ -40,8 +40,19 @@ public interface DistributedQueue {
 
   void offer(byte[] data) throws Exception;
 
+  /**
+   * Retrieve statistics about the queue size, operations and their timings.
+   */
   Map<String, Object> getStats();
 
+  /**
+   * Peek multiple elements from the queue in a single call.
+   * @param max maximum elements to retrieve
+   * @param waitMillis if less than maximum element is in the queue then wait at most this time for at least one new element.
+   * @param acceptFilter peek only elements that pass this filter
+   * @return peeked elements
+   * @throws Exception on errors
+   */
   Collection<Pair<String, byte[]>> peekElements(int max, long waitMillis, Predicate<String> acceptFilter) throws Exception;
 
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueueFactory.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueueFactory.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueueFactory.java
new file mode 100644
index 0000000..c54ccbd
--- /dev/null
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueueFactory.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.client.solrj.cloud;
+
+import java.io.IOException;
+
+/**
+ *
+ */
+public interface DistributedQueueFactory {
+  DistributedQueue makeQueue(String path) throws IOException;
+
+  void removeQueue(String path) throws IOException;
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingCloudManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingCloudManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingCloudManager.java
index dca67e7..05801b9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingCloudManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingCloudManager.java
@@ -21,10 +21,11 @@ import java.util.Map;
 
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrResponse;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
 import org.apache.solr.client.solrj.impl.ClusterStateProvider;
 
 /**
- *
+ * Base class for overriding some behavior of {@link SolrCloudManager}.
  */
 public class DelegatingCloudManager implements SolrCloudManager {
   private final SolrCloudManager delegate;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingClusterStateProvider.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingClusterStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingClusterStateProvider.java
index 0fecfed..9c81005 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingClusterStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingClusterStateProvider.java
@@ -25,7 +25,7 @@ import org.apache.solr.client.solrj.impl.ClusterStateProvider;
 import org.apache.solr.common.cloud.ClusterState;
 
 /**
- *
+ * Base class for overriding some behavior of {@link ClusterStateProvider}
  */
 public class DelegatingClusterStateProvider implements ClusterStateProvider {
   protected ClusterStateProvider delegate;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingNodeStateProvider.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingNodeStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingNodeStateProvider.java
index df125ac..8b717f8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingNodeStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingNodeStateProvider.java
@@ -22,7 +22,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- *
+ * Base class for overriding some behavior of {@link NodeStateProvider}.
  */
 public class DelegatingNodeStateProvider implements NodeStateProvider {
   private final NodeStateProvider delegate;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DistribStateManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DistribStateManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DistribStateManager.java
index b5839d6..4318418 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DistribStateManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DistribStateManager.java
@@ -28,7 +28,7 @@ import org.apache.zookeeper.OpResult;
 import org.apache.zookeeper.Watcher;
 
 /**
- * Represents a distributed state repository.
+ * This interface represents a distributed state repository.
  */
 public interface DistribStateManager extends Closeable {
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/NodeStateProvider.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/NodeStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/NodeStateProvider.java
index a0fd4dc..dbf6836 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/NodeStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/NodeStateProvider.java
@@ -21,7 +21,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * This interface models access to node and replica information.
+ * This interface models the access to node and replica information.
  */
 public interface NodeStateProvider {
   /**
@@ -36,8 +36,7 @@ public interface NodeStateProvider {
   /**
    * Get the details of each replica in a node. It attempts to fetch as much details about
    * the replica as mentioned in the keys list. It is not necessary to give all details
-   * <p>
-   * the format is {collection:shard :[{replicadetails}]}
+   * <p>The format is {collection:shard :[{replicadetails}]}.</p>
    */
   Map<String, Map<String, List<ReplicaInfo>>> getReplicaInfo(String node, Collection<String> keys);
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/SolrCloudManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/SolrCloudManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/SolrCloudManager.java
index f44118f..5b38e88 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/SolrCloudManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/SolrCloudManager.java
@@ -23,12 +23,13 @@ import java.util.Map;
 
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrResponse;
-import org.apache.solr.client.solrj.cloud.DistributedQueue;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
 import org.apache.solr.client.solrj.impl.ClusterStateProvider;
 
 /**
  * This interface abstracts the access to a SolrCloud cluster, including interactions with Zookeeper, Solr
  * and generic HTTP calls.
+ * <p>This abstraction should be used when possible instead of directly referencing ZK, Solr and HTTP.</p>
  */
 public interface SolrCloudManager extends Closeable {
 
@@ -38,11 +39,6 @@ public interface SolrCloudManager extends Closeable {
 
   DistribStateManager getDistribStateManager();
 
-  interface DistributedQueueFactory {
-    DistributedQueue makeQueue(String path) throws IOException;
-    void removeQueue(String path) throws IOException;
-  }
-
   DistributedQueueFactory getDistributedQueueFactory();
 
   // Solr-like methods

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/VersionedData.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/VersionedData.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/VersionedData.java
index 16f02c6..63341b9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/VersionedData.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/VersionedData.java
@@ -17,13 +17,19 @@
 package org.apache.solr.client.solrj.cloud.autoscaling;
 
 /**
- *
+ * Immutable representation of binary data with version.
  */
 public class VersionedData {
   private final int version;
   private final byte[] data;
   private final String owner;
 
+  /**
+   * Constructor.
+   * @param version version of the data, or -1 if unknown
+   * @param data binary data, or null.
+   * @param owner symbolic identifier of data owner / creator, or null.
+   */
   public VersionedData(int version, byte[] data, String owner) {
     this.version = version;
     this.data = data;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
index 44dc2e1..b8db4ab 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
@@ -37,6 +37,7 @@ import org.apache.http.util.EntityUtils;
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrResponse;
 import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
 import org.apache.solr.client.solrj.cloud.autoscaling.DistribStateManager;
 import org.apache.solr.client.solrj.cloud.autoscaling.NodeStateProvider;
 import org.apache.solr.client.solrj.cloud.autoscaling.SolrCloudManager;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java b/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
index 1957afc..720e7a6 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
@@ -35,6 +35,7 @@ import com.google.common.collect.ImmutableList;
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrResponse;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
 import org.apache.solr.client.solrj.cloud.autoscaling.Clause.Violation;
 import org.apache.solr.client.solrj.cloud.autoscaling.Policy.Suggester.Hint;
 import org.apache.solr.client.solrj.impl.ClusterStateProvider;