You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2017/06/06 04:57:04 UTC

[15/15] lucene-solr:master: Merge branch 'feature/autoscaling_solr7'

Merge branch 'feature/autoscaling_solr7'

# Conflicts:
#	solr/CHANGES.txt


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

Branch: refs/heads/master
Commit: d633c957cb79713e38bb3463969d7649cae18eaa
Parents: 4f55b43 b47572e
Author: Shalin Shekhar Mangar <sh...@apache.org>
Authored: Tue Jun 6 09:26:56 2017 +0530
Committer: Shalin Shekhar Mangar <sh...@apache.org>
Committed: Tue Jun 6 09:26:56 2017 +0530

----------------------------------------------------------------------
 solr/CHANGES.txt                                |  18 +-
 .../src/java/org/apache/solr/cloud/Assign.java  |  64 +-
 .../apache/solr/cloud/CreateCollectionCmd.java  |   2 +-
 .../cloud/OverseerCollectionMessageHandler.java | 108 ++-
 .../java/org/apache/solr/cloud/RestoreCmd.java  |   2 +-
 .../org/apache/solr/cloud/SplitShardCmd.java    |   2 +-
 .../org/apache/solr/cloud/ZkController.java     |   1 +
 .../cloud/autoscaling/AutoScalingHandler.java   | 319 +++++++++
 .../solr/cloud/autoscaling/package-info.java    |  21 +
 .../solr/cloud/rule/ServerSnitchContext.java    |  25 +-
 .../org/apache/solr/core/CoreContainer.java     |  30 +-
 .../apache/solr/core/SolrResourceLoader.java    |   3 +-
 .../org/apache/solr/handler/BlobHandler.java    |   2 +-
 .../solr/handler/RequestHandlerUtils.java       |  13 +
 .../org/apache/solr/handler/SchemaHandler.java  |   2 +-
 .../apache/solr/handler/SolrConfigHandler.java  |  11 +-
 .../solr/handler/admin/CollectionsHandler.java  |   4 +-
 .../solr/handler/admin/SecurityConfHandler.java |   4 +-
 .../solr/response/TextResponseWriter.java       |  13 +-
 .../solr/security/PermissionNameProvider.java   |   2 +
 .../resources/apispec/autoscaling.Commands.json |  47 ++
 .../autoscaling/AutoScalingHandlerTest.java     | 338 ++++++++++
 .../solr/cloud/autoscaling/TestPolicyCloud.java | 195 ++++++
 .../solr/cloud/rule/ImplicitSnitchTest.java     |  50 +-
 .../solr/client/solrj/impl/CloudSolrClient.java |  15 +-
 .../solrj/impl/SolrClientDataProvider.java      | 256 ++++++++
 .../impl/ZkClientClusterStateProvider.java      |  11 +-
 .../solrj/request/CollectionAdminRequest.java   |  10 +-
 .../solr/client/solrj/request/V2Request.java    |   4 +-
 .../cloud/autoscaling/AddReplicaSuggester.java  |  69 ++
 .../org/apache/solr/cloud/autoscaling/Cell.java |  57 ++
 .../apache/solr/cloud/autoscaling/Clause.java   | 460 +++++++++++++
 .../cloud/autoscaling/ClusterDataProvider.java  |  52 ++
 .../cloud/autoscaling/MoveReplicaSuggester.java |  83 +++
 .../apache/solr/cloud/autoscaling/Operand.java  | 123 ++++
 .../apache/solr/cloud/autoscaling/Policy.java   | 519 +++++++++++++++
 .../solr/cloud/autoscaling/PolicyHelper.java    |  96 +++
 .../solr/cloud/autoscaling/Preference.java      |  87 +++
 .../org/apache/solr/cloud/autoscaling/Row.java  | 115 ++++
 .../solr/cloud/autoscaling/package-info.java    |  22 +
 .../org/apache/solr/common/IteratorWriter.java  |  21 +-
 .../java/org/apache/solr/common/MapWriter.java  |  10 +
 .../apache/solr/common/cloud/DocCollection.java |  14 +
 .../apache/solr/common/cloud/ZkStateReader.java |   1 +
 .../solr/common/cloud/rule/ImplicitSnitch.java  |  53 +-
 .../apache/solr/common/cloud/rule/Snitch.java   |   6 +-
 .../solr/common/cloud/rule/SnitchContext.java   |   7 +-
 .../apache/solr/common/params/CommonParams.java |   6 +-
 .../common/params/ModifiableSolrParams.java     |   4 +
 .../solr/common/util/CommandOperation.java      |  50 +-
 .../apache/solr/common/util/JavaBinCodec.java   |  15 +-
 .../java/org/apache/solr/common/util/Utils.java |  94 ++-
 .../solr/cloud/autoscaling/TestPolicy.java      | 654 +++++++++++++++++++
 53 files changed, 3998 insertions(+), 192 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d633c957/solr/CHANGES.txt
----------------------------------------------------------------------
diff --cc solr/CHANGES.txt
index b0da3b8,d83b786..9bbb725
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@@ -208,36 -204,12 +214,42 @@@ Other Change
  
  * SOLR-10755: delete/refactor many solrj deprecations (hossman)
  
 +* SOLR-10752: replicationFactor (nrtReplicas) default is 0 if tlogReplicas is specified when creating a collection
 +  (Tomás Fernández Löbbe)
 +
 +* SOLR-10757: delete/refactor/cleanup CollectionAdminRequest deprecations (hossman)
 +
 +* SOLR-10793: BlobHandler should have a well-known permission name (noble)
 +
 +* SOLR-10744: Update noggit to newer version (0.8) (noble)
 +
 +* SOLR-10792: Deprecate and remove implicit registration of "lucenePlusSort" aka OldLuceneQParser (hossman)
 +
 +* SOLR-10791: Remove deprecated options in SSLTestConfig (hossman)
 +
 +* LUCENE-7852: Correct copyright year(s) in solr/LICENSE.txt file.
 +  (Christine Poerschke, Steve Rowe)
 +
 +* SOLR-8668: In solrconfig.xml remove <mergePolicy> (and related <mergeFactor> and <maxMergeDocs>)
 +  support in favor of the <mergePolicyFactory> element introduced by SOLR-8621 in Solr 5.5.0.
 +  (Christine Poerschke, hossman)
 +
 +* SOLR-10799: Extracted functionality to collect eligible replicas from HttpShardHandler.prepDistributed()
 +  to a new method (Domenico Fabio Marino via Tomás Fernández Löbbe)
 +
 +* SOLR-10801: Remove several deprecated methods that were exposed to plugin writers (hossman)
 +
 +* SOLR-10671: Add abstract doInit method to the SolrMetricReporter base class.
 +  (Christine Poerschke, Anshum Gupta)
 +
 +* SOLR-10713: Ignore .pid and .out files in solr working directory (Jason Gerlowski via Mike Drob)
 +
+ * SOLR-10764: AutoScalingHandler should validate policy and preferences before updating zookeeper. (shalin)
+ 
+ * SOLR-10782: Improve error handling and tests for Snitch and subclasses and general cleanups. (Noble Paul, shalin)
+ 
+ * SOLR-10419: All collection APIs should use the new Policy framework for replica placement. (Noble Paul, shalin)
+ 
  ==================  6.7.0 ==================
  
  Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
@@@ -321,15 -253,7 +333,15 @@@ Bug Fixe
  * SOLR-10723 JSON Facet API: resize() implemented incorrectly for CountSlotAcc, HllAgg.NumericAcc
    resulting in exceptions when using a hashing faceting method and sorting by hll(numeric_field).
    (yonik)
-   
+ 
 +* SOLR-10719: Creating a core.properties fails if the parent of core.properties is a symlinked dierctory
 +  (Erick Erickson)
 +
 +* SOLR-10360: Solr HDFS snapshot export fails due to FileNotFoundException error when using MR1 instead of
 +  yarn. (Hrishikesh via Mark Miller)
-   
++
 +* SOLR-10137: Ensure that ConfigSets created via API are mutable. (Hrishikesh via Mark Miller)
 +
  Optimizations
  ----------------------
  * SOLR-10634: JSON Facet API: When a field/terms facet will retrieve all buckets (i.e. limit:-1)

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d633c957/solr/core/src/java/org/apache/solr/cloud/Assign.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d633c957/solr/core/src/java/org/apache/solr/cloud/CreateCollectionCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d633c957/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d633c957/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d633c957/solr/solrj/src/java/org/apache/solr/common/util/CommandOperation.java
----------------------------------------------------------------------
diff --cc solr/solrj/src/java/org/apache/solr/common/util/CommandOperation.java
index c80402f,f995d09..c18a8e4
--- a/solr/solrj/src/java/org/apache/solr/common/util/CommandOperation.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/CommandOperation.java
@@@ -216,13 -222,13 +222,17 @@@ public class CommandOperation 
  
    /**
     * Parse the command operations into command objects
+    *
+    * @param rdr               The payload
+    * @param singletonCommands commands that cannot be repeated
+    * @return parsed list of commands
     */
-   public static List<CommandOperation> parse(Reader rdr) throws IOException {
+   public static List<CommandOperation> parse(Reader rdr, Set<String> singletonCommands) throws IOException {
      JSONParser parser = new JSONParser(rdr);
 +    parser.setFlags(parser.getFlags() |
 +        JSONParser.ALLOW_MISSING_COLON_COMMA_BEFORE_OBJECT |
 +        JSONParser.OPTIONAL_OUTER_BRACES
 +    );
  
      ObjectBuilder ob = new ObjectBuilder(parser);
  

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d633c957/solr/solrj/src/java/org/apache/solr/common/util/Utils.java
----------------------------------------------------------------------