You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by tf...@apache.org on 2017/05/12 23:39:25 UTC
[58/58] [abbrv] lucene-solr:jira/solr-10233: Merge branch 'master'
into jira/solr-10233
Merge branch 'master' into jira/solr-10233
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/096ed90b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/096ed90b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/096ed90b
Branch: refs/heads/jira/solr-10233
Commit: 096ed90b36ae404049936e4b977af1c3a0eae75c
Parents: 14ea4ad 6e68e9e
Author: Tomas Fernandez Lobbe <tf...@apache.org>
Authored: Fri May 12 16:38:03 2017 -0700
Committer: Tomas Fernandez Lobbe <tf...@apache.org>
Committed: Fri May 12 16:38:03 2017 -0700
----------------------------------------------------------------------
dev-tools/idea/.idea/libraries/HSQLDB.xml | 2 +-
lucene/CHANGES.txt | 6 +
.../lucene/classification/BM25NBClassifier.java | 243 +
.../classification/BM25NBClassifierTest.java | 154 +
.../lucene/search/DoubleValuesSource.java | 47 +-
.../org/apache/lucene/search/LRUQueryCache.java | 2 +-
.../java/org/apache/lucene/util/Version.java | 7 +
.../lucene/search/TestDoubleValuesSource.java | 63 +
.../apache/lucene/search/TestLRUQueryCache.java | 2 +
.../lucene/expressions/ExpressionRescorer.java | 13 +-
.../expressions/ExpressionValueSource.java | 15 +
.../lucene/expressions/TestDemoExpressions.java | 32 +-
.../expressions/TestExpressionRescorer.java | 2 +-
.../facet/range/TestRangeFacetCounts.java | 5 +
lucene/ivy-versions.properties | 15 +-
.../queries/function/FunctionScoreQuery.java | 11 +-
.../lucene/queries/function/ValueSource.java | 11 +
.../function/TestFunctionScoreExplanations.java | 2 +-
.../function/TestFunctionScoreQuery.java | 4 +-
solr/CHANGES.txt | 49 +-
solr/bin/install_solr_service.sh | 4 +-
solr/bin/solr | 18 +
solr/bin/solr.cmd | 28 +
solr/build.xml | 3 +
solr/contrib/dataimporthandler/ivy.xml | 2 +-
.../TestVariableResolverEndToEnd.java | 8 +-
.../src/java/org/apache/solr/api/ApiBag.java | 9 +-
.../org/apache/solr/cloud/DistributedQueue.java | 47 +-
.../cloud/OverseerCollectionMessageHandler.java | 5 +-
.../java/org/apache/solr/cloud/RestoreCmd.java | 120 +-
.../solr/cloud/overseer/ZkStateWriter.java | 3 +
.../org/apache/solr/core/CoreContainer.java | 11 +-
.../org/apache/solr/core/MetricsConfig.java | 121 +
.../java/org/apache/solr/core/NodeConfig.java | 32 +-
.../org/apache/solr/core/SolrXmlConfig.java | 29 +-
.../apache/solr/handler/CalciteJDBCStream.java | 75 +
.../org/apache/solr/handler/SQLHandler.java | 3 +-
.../apache/solr/handler/SolrConfigHandler.java | 4 +-
.../org/apache/solr/handler/StreamHandler.java | 2 +
.../handler/admin/BaseHandlerApiSupport.java | 76 +-
.../handler/admin/CollectionHandlerApi.java | 317 +-
.../solr/handler/admin/CollectionsHandler.java | 12 +-
.../handler/admin/ConfigSetsHandlerApi.java | 109 +-
.../solr/handler/admin/CoreAdminHandlerApi.java | 172 +-
.../solr/handler/admin/SecurityConfHandler.java | 4 +-
.../handler/admin/SecurityConfHandlerLocal.java | 2 +-
.../handler/admin/SecurityConfHandlerZk.java | 2 +-
.../apache/solr/metrics/MetricSuppliers.java | 363 ++
.../solr/metrics/SolrCoreMetricManager.java | 2 +-
.../apache/solr/metrics/SolrMetricManager.java | 45 +-
.../apache/solr/request/SolrQueryRequest.java | 2 +-
.../solr/request/SolrQueryRequestBase.java | 2 +-
.../org/apache/solr/schema/SchemaManager.java | 2 +-
.../org/apache/solr/search/FastLRUCache.java | 2 +-
.../java/org/apache/solr/search/LFUCache.java | 2 +-
.../java/org/apache/solr/search/LRUCache.java | 2 +-
.../security/AutorizationEditOperation.java | 2 +-
.../apache/solr/security/BasicAuthPlugin.java | 2 +-
.../solr/security/ConfigEditablePlugin.java | 4 +-
.../security/RuleBasedAuthorizationPlugin.java | 2 +-
.../security/Sha256AuthenticationProvider.java | 8 +-
.../org/apache/solr/servlet/HttpSolrCall.java | 2 +-
.../org/apache/solr/servlet/ResponseUtils.java | 2 +-
.../apache/solr/servlet/SolrDispatchFilter.java | 2 +-
.../apache/solr/servlet/SolrRequestParsers.java | 2 +-
.../org/apache/solr/update/SolrIndexConfig.java | 12 +
.../org/apache/solr/util/CommandOperation.java | 328 --
.../src/java/org/apache/solr/util/SolrCLI.java | 258 +
.../org/apache/solr/util/SolrPluginUtils.java | 21 +-
.../collections.collection.Commands.modify.json | 2 +-
.../test-files/lib-dirs/d/d1/empty-file-d1.txt | 1 -
.../collection1/conf/bad-schema-init-error.xml | 25 -
.../conf/schema-single-dynamic-copy-field.xml | 663 ---
.../collection1/conf/solrconfig-lazywriter.xml | 29 -
.../solrconfig-tlog-with-delayingcomponent.xml | 124 -
.../src/test-files/solr/solr-metricsconfig.xml | 61 +
.../core/src/test-files/solr/solr-multicore.xml | 0
.../AbstractCloudBackupRestoreTestCase.java | 27 +
.../apache/solr/cloud/DistributedQueueTest.java | 36 +
.../solr/cloud/overseer/ZkStateWriterTest.java | 10 +-
.../core/snapshots/TestSolrCloudSnapshots.java | 5 +
.../solr/handler/V2ApiIntegrationTest.java | 67 +-
.../handler/admin/SecurityConfHandlerTest.java | 2 +-
.../solr/handler/admin/TestApiFramework.java | 2 +-
.../solr/handler/admin/TestCollectionAPIs.java | 2 +-
.../org/apache/solr/metrics/JvmMetricsTest.java | 4 +-
.../apache/solr/metrics/MetricsConfigTest.java | 126 +
.../solr/metrics/MockCounterSupplier.java | 36 +
.../solr/metrics/MockHistogramSupplier.java | 40 +
.../apache/solr/metrics/MockMeterSupplier.java | 36 +
.../apache/solr/metrics/MockTimerSupplier.java | 46 +
.../solr/metrics/SolrMetricTestUtils.java | 4 +-
.../metrics/SolrMetricsIntegrationTest.java | 2 +-
.../apache/solr/schema/TestSchemaManager.java | 2 +-
.../solr/security/BasicAuthIntegrationTest.java | 15 +-
.../TestRuleBasedAuthorizationPlugin.java | 4 +-
.../TestSha256AuthenticationProvider.java | 2 +-
solr/example/example-DIH/ivy.xml | 2 +-
.../android-json-0.0.20131108.vaadin1.jar.sha1 | 1 +
solr/licenses/android-json-LICENSE-ASL.txt | 202 +
solr/licenses/android-json-NOTICE.txt | 0
.../asciidoctor-ant-1.6.0-alpha.3.jar.sha1 | 1 +
solr/licenses/asciidoctor-ant-LICENSE-ASL.txt | 202 +
solr/licenses/asciidoctor-ant-NOTICE.txt | 5 +
solr/licenses/hsqldb-1.8.0.10.jar.sha1 | 1 -
solr/licenses/hsqldb-2.4.0.jar.sha1 | 1 +
solr/licenses/hsqldb-LICENSE-BSD_LIKE.txt | 9 +-
solr/licenses/hsqldb-NOTICE.txt | 135 +-
solr/licenses/jsoup-1.8.2.jar.sha1 | 1 +
solr/licenses/jsoup-LICENSE-MIT.txt | 21 +
solr/licenses/slf4j-simple-1.7.7.jar.sha1 | 1 +
solr/solr-ref-guide/README.adoc | 27 +
solr/solr-ref-guide/build.xml | 238 +
solr/solr-ref-guide/ivy.xml | 34 +
.../meta-docs/asciidoc-syntax.adoc | 223 +
.../solr-ref-guide/meta-docs/editing-tools.adoc | 23 +
solr/solr-ref-guide/meta-docs/jekyll.adoc | 61 +
solr/solr-ref-guide/meta-docs/pdf.adoc | 129 +
solr/solr-ref-guide/meta-docs/publish.adoc | 204 +
solr/solr-ref-guide/src/.gitignore | 3 +
solr/solr-ref-guide/src/404.md | 6 +
solr/solr-ref-guide/src/README.md | 3 +
solr/solr-ref-guide/src/_config.yml.template | 101 +
solr/solr-ref-guide/src/_data/strings.yml | 5 +
solr/solr-ref-guide/src/_data/tags.yml | 7 +
solr/solr-ref-guide/src/_includes/archive.html | 15 +
solr/solr-ref-guide/src/_includes/feedback.html | 16 +
solr/solr-ref-guide/src/_includes/footer.html | 9 +
.../src/_includes/google_analytics.html | 6 +
solr/solr-ref-guide/src/_includes/head.html | 35 +
.../src/_includes/head_print.html | 33 +
solr/solr-ref-guide/src/_includes/image.html | 1 +
.../src/_includes/inline_image.html | 1 +
solr/solr-ref-guide/src/_includes/links.html | 44 +
solr/solr-ref-guide/src/_includes/sidebar.html | 65 +
solr/solr-ref-guide/src/_includes/taglogic.html | 22 +
solr/solr-ref-guide/src/_includes/toc.html | 21 +
solr/solr-ref-guide/src/_includes/topnav.html | 64 +
solr/solr-ref-guide/src/_layouts/default.html | 55 +
.../src/_layouts/default_print.html | 25 +
solr/solr-ref-guide/src/_layouts/none.html | 3 +
solr/solr-ref-guide/src/_layouts/page.html | 80 +
.../solr-ref-guide/src/_layouts/page_print.html | 15 +
solr/solr-ref-guide/src/_layouts/post.html | 41 +
solr/solr-ref-guide/src/a-quick-overview.adoc | 33 +
solr/solr-ref-guide/src/a-step-closer.adoc | 54 +
solr/solr-ref-guide/src/about-filters.adoc | 29 +
solr/solr-ref-guide/src/about-this-guide.adoc | 57 +
solr/solr-ref-guide/src/about-tokenizers.adoc | 31 +
...adding-custom-plugins-in-solrcloud-mode.adoc | 156 +
solr/solr-ref-guide/src/analysis-screen.adoc | 17 +
solr/solr-ref-guide/src/analyzers.adoc | 103 +
...uthentication-and-authorization-plugins.adoc | 170 +
.../src/basic-authentication-plugin.adoc | 140 +
solr/solr-ref-guide/src/blob-store-api.adoc | 135 +
solr/solr-ref-guide/src/blockjoin-faceting.adoc | 99 +
.../solr-ref-guide/src/charfilterfactories.adoc | 159 +
.../src/choosing-an-output-format.adoc | 9 +
solr/solr-ref-guide/src/client-api-lineup.adoc | 29 +
solr/solr-ref-guide/src/client-apis.adoc | 22 +
solr/solr-ref-guide/src/cloud-screens.adoc | 29 +
solr/solr-ref-guide/src/codec-factory.adoc | 21 +
.../src/collapse-and-expand-results.adoc | 133 +
.../src/collection-specific-tools.adoc | 30 +
solr/solr-ref-guide/src/collections-api.adoc | 1889 ++++++
.../src/collections-core-admin.adoc | 25 +
.../combining-distribution-and-replication.adoc | 19 +
.../src/command-line-utilities.adoc | 120 +
.../src/common-query-parameters.adoc | 365 ++
solr/solr-ref-guide/src/config-api.adoc | 521 ++
solr/solr-ref-guide/src/config-sets.adoc | 26 +
solr/solr-ref-guide/src/configsets-api.adoc | 155 +
solr/solr-ref-guide/src/configuration-apis.adoc | 11 +
.../solr-ref-guide/src/configuring-logging.adoc | 110 +
.../src/configuring-solrconfig-xml.adoc | 155 +
solr/solr-ref-guide/src/content-streams.adoc | 48 +
solr/solr-ref-guide/src/copying-fields.adoc | 40 +
.../solr-ref-guide/src/core-specific-tools.adoc | 36 +
solr/solr-ref-guide/src/coreadmin-api.adoc | 353 ++
.../src/cross-data-center-replication-cdcr.adoc | 761 +++
solr/solr-ref-guide/src/css/comments.css | 164 +
solr/solr-ref-guide/src/css/customstyles.css | 883 +++
.../solr-ref-guide/src/css/font-awesome.min.css | 4 +
.../solr-ref-guide/src/css/lavish-bootstrap.css | 5420 ++++++++++++++++++
solr/solr-ref-guide/src/css/printstyles.css | 160 +
solr/solr-ref-guide/src/css/ref-guide.css | 2826 +++++++++
solr/solr-ref-guide/src/css/theme-solr.css | 127 +
...adir-and-directoryfactory-in-solrconfig.adoc | 45 +
solr/solr-ref-guide/src/dataimport-screen.adoc | 13 +
solr/solr-ref-guide/src/de-duplication.adoc | 100 +
.../src/defining-core-properties.adoc | 79 +
solr/solr-ref-guide/src/defining-fields.adoc | 57 +
.../detecting-languages-during-indexing.adoc | 82 +
.../src/distributed-requests.adoc | 123 +
.../distributed-search-with-index-sharding.adoc | 165 +
.../src/documents-fields-and-schema-design.adoc | 28 +
solr/solr-ref-guide/src/documents-screen.adoc | 73 +
solr/solr-ref-guide/src/docvalues.adoc | 75 +
solr/solr-ref-guide/src/draft-background.png | Bin 0 -> 5391 bytes
solr/solr-ref-guide/src/dynamic-fields.adoc | 20 +
solr/solr-ref-guide/src/enabling-ssl.adoc | 345 ++
solr/solr-ref-guide/src/errata.adoc | 17 +
.../src/exporting-result-sets.adoc | 55 +
solr/solr-ref-guide/src/faceting.adoc | 738 +++
solr/solr-ref-guide/src/feed.xml | 28 +
.../src/field-properties-by-use-case.adoc | 34 +
.../field-type-definitions-and-properties.adoc | 115 +
.../src/field-types-included-with-solr.adoc | 40 +
solr/solr-ref-guide/src/files-screen.adoc | 23 +
.../solr-ref-guide/src/filter-descriptions.adoc | 1779 ++++++
.../src/fonts/Inconsolata/Inconsolata-Bold.ttf | Bin 0 -> 109948 bytes
.../fonts/Inconsolata/Inconsolata-Regular.ttf | Bin 0 -> 96964 bytes
.../src/fonts/Inconsolata/OFL.txt | 92 +
.../src/fonts/Noto_Sans/LICENSE.txt | 202 +
.../src/fonts/Noto_Sans/NotoSans-Bold.ttf | Bin 0 -> 415132 bytes
.../src/fonts/Noto_Sans/NotoSans-BoldItalic.ttf | Bin 0 -> 290436 bytes
.../src/fonts/Noto_Sans/NotoSans-Italic.ttf | Bin 0 -> 279268 bytes
.../src/fonts/Noto_Sans/NotoSans-Regular.ttf | Bin 0 -> 414820 bytes
.../src/fonts/fontawesome/FontAwesome.otf | Bin 0 -> 85908 bytes
.../fonts/fontawesome/fontawesome-webfont.eot | Bin 0 -> 56006 bytes
.../fonts/fontawesome/fontawesome-webfont.svg | 520 ++
.../fonts/fontawesome/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes
.../fonts/fontawesome/fontawesome-webfont.woff | Bin 0 -> 65452 bytes
.../glyphicons/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes
.../glyphicons/glyphicons-halflings-regular.svg | 288 +
.../glyphicons/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes
.../glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes
.../glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes
.../src/fonts/mplus1mn/mplus1mn-bold-ascii.ttf | Bin 0 -> 15868 bytes
.../mplus1mn/mplus1mn-bold_italic-ascii.ttf | Bin 0 -> 15908 bytes
.../fonts/mplus1mn/mplus1mn-italic-ascii.ttf | Bin 0 -> 15928 bytes
.../mplus1mn/mplus1mn-regular-ascii-conums.ttf | Bin 0 -> 20024 bytes
.../src/fonts/mplus1p-regular-fallback.ttf | Bin 0 -> 1405716 bytes
solr/solr-ref-guide/src/format-of-solr-xml.adoc | 151 +
solr/solr-ref-guide/src/function-queries.adoc | 252 +
solr/solr-ref-guide/src/further-assistance.adoc | 7 +
solr/solr-ref-guide/src/getting-assistance.adoc | 25 +
.../src/getting-started-with-solrcloud.adoc | 159 +
solr/solr-ref-guide/src/getting-started.adoc | 27 +
solr/solr-ref-guide/src/graph-traversal.adoc | 532 ++
.../src/hadoop-authentication-plugin.adoc | 116 +
solr/solr-ref-guide/src/highlighting.adoc | 293 +
.../solr-ref-guide/src/how-solrcloud-works.adoc | 37 +
.../a-quick-overview/sample-client-app-arch.png | Bin 0 -> 52100 bytes
.../a-quick-overview/sample-client-app-arch.svg | 488 ++
.../images/analysis-screen/analysis_normal.png | Bin 0 -> 57653 bytes
.../images/analysis-screen/analysis_verbose.png | Bin 0 -> 66742 bytes
.../src/images/cloud-screens/cloud-graph.png | Bin 0 -> 54929 bytes
.../src/images/cloud-screens/cloud-radial.png | Bin 0 -> 62572 bytes
.../src/images/cloud-screens/cloud-tree.png | Bin 0 -> 105371 bytes
.../collection_dashboard.png | Bin 0 -> 69978 bytes
.../collections-core-admin/DeleteShard.png | Bin 0 -> 161077 bytes
.../collections-core-admin/collection-admin.png | Bin 0 -> 60968 bytes
.../worddav4101c16174820e932b44baa22abcfcd1.png | Bin 0 -> 54328 bytes
.../core-specific-tools/core_dashboard.png | Bin 0 -> 84253 bytes
.../CDCR_arch.png | Bin 0 -> 83216 bytes
.../src/images/dataimport-screen/dataimport.png | Bin 0 -> 126440 bytes
.../documents-screen/documents_add_screen.png | Bin 0 -> 58783 bytes
.../src/images/files-screen/files-screen.png | Bin 0 -> 129388 bytes
.../images/getting-assistance/Assistance.png | Bin 0 -> 6429 bytes
.../src/images/icons/bullet_blue.gif | Bin 0 -> 60 bytes
.../images/icons/contenttypes/home_page_16.png | Bin 0 -> 272 bytes
.../src/images/icons/emoticons/warning.png | Bin 0 -> 444 bytes
.../worddav2b7e14725d898b4104cdd9c502fc77cd.png | Bin 0 -> 26388 bytes
.../images/java-properties/javaproperties.png | Bin 0 -> 86999 bytes
.../src/images/logging/level_menu.png | Bin 0 -> 68035 bytes
.../src/images/logging/logging.png | Bin 0 -> 49911 bytes
.../other-parsers/graph_qparser_example.png | Bin 0 -> 46673 bytes
.../other-parsers/graph_qparser_example.svg | 606 ++
.../worddav16392965e726e04513a21641fabad474.png | Bin 0 -> 54279 bytes
.../worddav88969a784fb8a63d8c46e9c043f5f953.png | Bin 0 -> 246343 bytes
.../overview-of-the-solr-admin-ui/dashboard.png | Bin 0 -> 92750 bytes
.../images/parallel-sql-interface/cluster.png | Bin 0 -> 3067133 bytes
solr/solr-ref-guide/src/images/ping/ping.png | Bin 0 -> 10064 bytes
.../plugins-stats-screen/plugin-searcher.png | Bin 0 -> 103571 bytes
.../src/images/query-screen/query-top.png | Bin 0 -> 112162 bytes
.../images/replication-screen/replication.png | Bin 0 -> 55601 bytes
.../result-clustering/carrot2-workbench.png | Bin 0 -> 210974 bytes
.../src/images/result-clustering/carrot2.png | Bin 0 -> 403362 bytes
.../images/running-solr/SolrAdminDashboard.png | Bin 0 -> 249171 bytes
.../running-solr/solr34_responseHeader.png | Bin 0 -> 269440 bytes
.../analysis_compare_0.png | Bin 0 -> 57666 bytes
.../analysis_compare_1.png | Bin 0 -> 93162 bytes
.../analysis_compare_2.png | Bin 0 -> 85136 bytes
.../analysis_compare_3.png | Bin 0 -> 89766 bytes
.../analysis_compare_4.png | Bin 0 -> 97789 bytes
.../schema_browser_terms.png | Bin 0 -> 219326 bytes
.../src/images/segments-info/segments_info.png | Bin 0 -> 40880 bytes
.../zeppelin_solrjdbc_1.png | Bin 0 -> 72998 bytes
.../zeppelin_solrjdbc_2.png | Bin 0 -> 41166 bytes
.../zeppelin_solrjdbc_3.png | Bin 0 -> 62482 bytes
.../zeppelin_solrjdbc_4.png | Bin 0 -> 62527 bytes
.../zeppelin_solrjdbc_5.png | Bin 0 -> 42257 bytes
.../zeppelin_solrjdbc_6.png | Bin 0 -> 44941 bytes
.../dbvisualizer_solrjdbc_1.png | Bin 0 -> 171124 bytes
.../dbvisualizer_solrjdbc_11.png | Bin 0 -> 54439 bytes
.../dbvisualizer_solrjdbc_12.png | Bin 0 -> 130739 bytes
.../dbvisualizer_solrjdbc_13.png | Bin 0 -> 82449 bytes
.../dbvisualizer_solrjdbc_14.png | Bin 0 -> 75971 bytes
.../dbvisualizer_solrjdbc_15.png | Bin 0 -> 118023 bytes
.../dbvisualizer_solrjdbc_16.png | Bin 0 -> 162783 bytes
.../dbvisualizer_solrjdbc_17.png | Bin 0 -> 122613 bytes
.../dbvisualizer_solrjdbc_19.png | Bin 0 -> 84112 bytes
.../dbvisualizer_solrjdbc_2.png | Bin 0 -> 115345 bytes
.../dbvisualizer_solrjdbc_20.png | Bin 0 -> 145134 bytes
.../dbvisualizer_solrjdbc_3.png | Bin 0 -> 106194 bytes
.../dbvisualizer_solrjdbc_4.png | Bin 0 -> 110362 bytes
.../dbvisualizer_solrjdbc_5.png | Bin 0 -> 95829 bytes
.../dbvisualizer_solrjdbc_6.png | Bin 0 -> 106536 bytes
.../dbvisualizer_solrjdbc_7.png | Bin 0 -> 111281 bytes
.../dbvisualizer_solrjdbc_9.png | Bin 0 -> 117209 bytes
.../squirrelsql_solrjdbc_1.png | Bin 0 -> 42001 bytes
.../squirrelsql_solrjdbc_10.png | Bin 0 -> 53660 bytes
.../squirrelsql_solrjdbc_11.png | Bin 0 -> 59264 bytes
.../squirrelsql_solrjdbc_12.png | Bin 0 -> 47968 bytes
.../squirrelsql_solrjdbc_13.png | Bin 0 -> 43717 bytes
.../squirrelsql_solrjdbc_14.png | Bin 0 -> 44009 bytes
.../squirrelsql_solrjdbc_15.png | Bin 0 -> 92630 bytes
.../squirrelsql_solrjdbc_2.png | Bin 0 -> 56592 bytes
.../squirrelsql_solrjdbc_3.png | Bin 0 -> 52196 bytes
.../squirrelsql_solrjdbc_4.png | Bin 0 -> 42390 bytes
.../squirrelsql_solrjdbc_5.png | Bin 0 -> 56778 bytes
.../squirrelsql_solrjdbc_7.png | Bin 0 -> 62070 bytes
.../squirrelsql_solrjdbc_9.png | Bin 0 -> 63722 bytes
.../src/images/spatial-search/bbox.png | Bin 0 -> 14893 bytes
.../src/images/spatial-search/circle.png | Bin 0 -> 14843 bytes
.../src/images/stream-screen/StreamScreen.png | Bin 0 -> 51471 bytes
.../src/images/thread-dump/thread_dump_1.png | Bin 0 -> 106104 bytes
.../src/images/thread-dump/thread_dump_2.png | Bin 0 -> 118045 bytes
.../velocity-search-ui/techproducts_browse.png | Bin 0 -> 74854 bytes
.../src/implicit-requesthandlers.adoc | 61 +
solr/solr-ref-guide/src/index-replication.adoc | 293 +
solr/solr-ref-guide/src/index.adoc | 30 +
.../src/indexconfig-in-solrconfig.adoc | 198 +
.../src/indexing-and-basic-data-operations.adoc | 33 +
solr/solr-ref-guide/src/indexupgrader-tool.adoc | 23 +
.../src/initparams-in-solrconfig.adoc | 106 +
solr/solr-ref-guide/src/installing-solr.adoc | 40 +
.../src/introduction-to-client-apis.adoc | 15 +
...ntroduction-to-scaling-and-distribution.adoc | 29 +
.../src/introduction-to-solr-indexing.adoc | 40 +
solr/solr-ref-guide/src/java-properties.adoc | 8 +
solr/solr-ref-guide/src/js/customscripts.js | 56 +
solr/solr-ref-guide/src/js/jekyll-search.js | 1 +
.../solr-ref-guide/src/js/jquery.navgoco.min.js | 8 +
solr/solr-ref-guide/src/js/toc.js | 82 +
solr/solr-ref-guide/src/jvm-settings.adoc | 38 +
.../src/kerberos-authentication-plugin.adoc | 379 ++
solr/solr-ref-guide/src/language-analysis.adoc | 1608 ++++++
solr/solr-ref-guide/src/learning-to-rank.adoc | 744 +++
.../src/legacy-scaling-and-distribution.adoc | 18 +
.../src/lib-directives-in-solrconfig.adoc | 24 +
solr/solr-ref-guide/src/licenses/LICENSE | 21 +
.../src/licenses/LICENSE-BSD-NAVGOCO.txt | 27 +
.../src/local-parameters-in-queries.adoc | 70 +
solr/solr-ref-guide/src/logging.adoc | 22 +
.../major-changes-from-solr-5-to-solr-6.adoc | 73 +
.../src/making-and-restoring-backups.adoc | 221 +
solr/solr-ref-guide/src/managed-resources.adoc | 280 +
solr/solr-ref-guide/src/managing-solr.adoc | 26 +
.../src/mbean-request-handler.adoc | 44 +
solr/solr-ref-guide/src/merging-indexes.adoc | 35 +
solr/solr-ref-guide/src/metrics-reporting.adoc | 264 +
solr/solr-ref-guide/src/morelikethis.adoc | 83 +
.../src/near-real-time-searching.adoc | 121 +
solr/solr-ref-guide/src/other-parsers.adoc | 978 ++++
.../src/other-schema-elements.adoc | 90 +
...w-of-documents-fields-and-schema-design.adoc | 47 +
.../src/overview-of-searching-in-solr.adoc | 45 +
.../src/overview-of-the-solr-admin-ui.adoc | 22 +
.../src/pagination-of-results.adoc | 253 +
.../src/parallel-sql-interface.adoc | 418 ++
.../solr-ref-guide/src/parameter-reference.adoc | 51 +
.../src/pdf/SolrRefGuide-all.adoc | 15 +
.../src/pdf/themes/refguide-theme.yml | 259 +
.../src/performance-statistics-reference.adoc | 119 +
solr/solr-ref-guide/src/phonetic-matching.adoc | 114 +
solr/solr-ref-guide/src/ping.adoc | 66 +
.../src/plugins-stats-screen.adoc | 12 +
solr/solr-ref-guide/src/post-tool.adoc | 167 +
.../src/putting-the-pieces-together.adoc | 61 +
solr/solr-ref-guide/src/query-re-ranking.adoc | 55 +
solr/solr-ref-guide/src/query-screen.adoc | 42 +
.../src/query-settings-in-solrconfig.adoc | 217 +
.../src/query-syntax-and-parsing.adoc | 17 +
.../read-and-write-side-fault-tolerance.adoc | 99 +
solr/solr-ref-guide/src/realtime-get.adoc | 102 +
solr/solr-ref-guide/src/relevance.adoc | 31 +
solr/solr-ref-guide/src/replication-screen.adoc | 21 +
.../src/request-parameters-api.adoc | 187 +
.../src/requestdispatcher-in-solrconfig.adoc | 82 +
...lers-and-searchcomponents-in-solrconfig.adoc | 167 +
solr/solr-ref-guide/src/response-writers.adoc | 324 ++
solr/solr-ref-guide/src/result-clustering.adoc | 346 ++
solr/solr-ref-guide/src/result-grouping.adoc | 239 +
.../src/rule-based-authorization-plugin.adoc | 225 +
.../src/rule-based-replica-placement.adoc | 181 +
.../src/running-solr-on-hdfs.adoc | 224 +
solr/solr-ref-guide/src/running-solr.adoc | 273 +
.../src/running-your-analyzer.adoc | 42 +
solr/solr-ref-guide/src/schema-api.adoc | 1228 ++++
.../src/schema-browser-screen.adoc | 21 +
...schema-factory-definition-in-solrconfig.adoc | 81 +
solr/solr-ref-guide/src/schemaless-mode.adoc | 268 +
solr/solr-ref-guide/src/search.json | 21 +
solr/solr-ref-guide/src/searching.adoc | 41 +
solr/solr-ref-guide/src/securing-solr.adoc | 19 +
solr/solr-ref-guide/src/segments-info.adoc | 9 +
...tting-up-an-external-zookeeper-ensemble.adoc | 182 +
.../shards-and-indexing-data-in-solrcloud.adoc | 105 +
solr/solr-ref-guide/src/sitemap.xml | 17 +
.../src/solr-control-script-reference.adoc | 634 ++
.../src/solr-cores-and-solr-xml.adoc | 22 +
solr/solr-ref-guide/src/solr-field-types.adoc | 24 +
solr/solr-ref-guide/src/solr-glossary.adoc | 188 +
.../src/solr-jdbc-apache-zeppelin.adoc | 54 +
.../src/solr-jdbc-dbvisualizer.adoc | 120 +
.../src/solr-jdbc-python-jython.adoc | 126 +
solr/solr-ref-guide/src/solr-jdbc-r.adoc | 37 +
.../src/solr-jdbc-squirrel-sql.adoc | 80 +
solr/solr-ref-guide/src/solr-plugins.adoc | 10 +
solr/solr-ref-guide/src/solr-sunOnly-small.png | Bin 0 -> 7528 bytes
.../solrcloud-configuration-and-parameters.adoc | 18 +
...lrcloud-with-legacy-configuration-files.adoc | 55 +
solr/solr-ref-guide/src/solrcloud.adoc | 31 +
solr/solr-ref-guide/src/spatial-search.adoc | 355 ++
solr/solr-ref-guide/src/spell-checking.adoc | 374 ++
solr/solr-ref-guide/src/stream-screen.adoc | 12 +
.../src/streaming-expressions.adoc | 1971 +++++++
solr/solr-ref-guide/src/suggester.adoc | 460 ++
.../src/taking-solr-to-production.adoc | 287 +
.../src/the-dismax-query-parser.adoc | 215 +
.../src/the-extended-dismax-query-parser.adoc | 247 +
.../src/the-query-elevation-component.adoc | 138 +
.../src/the-standard-query-parser.adoc | 402 ++
.../solr-ref-guide/src/the-stats-component.adoc | 179 +
.../src/the-term-vector-component.adoc | 147 +
.../solr-ref-guide/src/the-terms-component.adoc | 295 +
.../src/the-well-configured-solr-instance.adoc | 27 +
solr/solr-ref-guide/src/thread-dump.adoc | 33 +
solr/solr-ref-guide/src/tokenizers.adoc | 501 ++
.../transforming-and-indexing-custom-json.adoc | 362 ++
.../src/transforming-result-documents.adoc | 324 ++
solr/solr-ref-guide/src/uima-integration.adoc | 110 +
...anding-analyzers-tokenizers-and-filters.adoc | 44 +
.../src/update-request-processors.adoc | 346 ++
.../src/updatehandlers-in-solrconfig.adoc | 134 +
.../src/updating-parts-of-documents.adoc | 273 +
.../src/upgrading-a-solr-cluster.adoc | 89 +
solr/solr-ref-guide/src/upgrading-solr.adoc | 62 +
.../src/uploading-data-with-index-handlers.adoc | 546 ++
...g-data-with-solr-cell-using-apache-tika.adoc | 345 ++
...store-data-with-the-data-import-handler.adoc | 940 +++
solr/solr-ref-guide/src/using-javascript.adoc | 13 +
.../solr-ref-guide/src/using-jmx-with-solr.adoc | 108 +
solr/solr-ref-guide/src/using-python.adoc | 61 +
.../src/using-solr-from-ruby.adoc | 100 +
solr/solr-ref-guide/src/using-solrj.adoc | 145 +
...-the-solr-administration-user-interface.adoc | 34 +
...zookeeper-to-manage-configuration-files.adoc | 81 +
solr/solr-ref-guide/src/v2-api.adoc | 177 +
.../src/velocity-response-writer.adoc | 107 +
solr/solr-ref-guide/src/velocity-search-ui.adoc | 12 +
...king-with-currencies-and-exchange-rates.adoc | 88 +
solr/solr-ref-guide/src/working-with-dates.adoc | 157 +
.../src/working-with-enum-fields.adoc | 60 +
...rking-with-external-files-and-processes.adoc | 294 +
.../src/zookeeper-access-control.adoc | 148 +
.../tools/BuildNavAndPDFBody.java | 283 +
.../tools/CheckLinksAndAnchors.java | 229 +
solr/solr-ref-guide/tools/ReducePDFSize.java | 90 +
.../solr/client/solrj/impl/CloudSolrClient.java | 23 +-
.../solr/client/solrj/impl/HttpSolrClient.java | 14 +
.../solr/client/solrj/io/stream/JDBCStream.java | 342 +-
.../solrj/io/stream/NormalizeEvaluator.java | 76 +
.../solrj/io/stream/ReverseEvaluator.java | 67 +
.../solrj/request/CollectionAdminRequest.java | 35 +-
.../solrj/request/CollectionApiMapping.java | 407 ++
.../client/solrj/request/CoreApiMapping.java | 118 +
.../solr/client/solrj/request/V2Request.java | 125 +
.../common/params/CollectionAdminParams.java | 10 +
.../apache/solr/common/params/CommonParams.java | 4 +-
.../solr/common/util/CommandOperation.java | 318 +
.../client/solrj/io/stream/JDBCStreamTest.java | 34 +-
.../solrj/io/stream/StreamExpressionTest.java | 111 +-
.../client/solrj/request/TestV2Request.java | 89 +
.../java/org/apache/solr/SolrTestCaseJ4.java | 2 +
.../java/org/apache/solr/util/TestHarness.java | 6 +-
488 files changed, 55204 insertions(+), 2128 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/096ed90b/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionMessageHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/096ed90b/solr/core/src/java/org/apache/solr/cloud/RestoreCmd.java
----------------------------------------------------------------------
diff --cc solr/core/src/java/org/apache/solr/cloud/RestoreCmd.java
index 2fa847c,23b2fb5..722cc1f
--- a/solr/core/src/java/org/apache/solr/cloud/RestoreCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/RestoreCmd.java
@@@ -62,7 -67,8 +69,11 @@@ import static org.apache.solr.common.pa
import static org.apache.solr.common.params.CollectionParams.CollectionAction.CREATESHARD;
import static org.apache.solr.common.params.CommonAdminParams.ASYNC;
import static org.apache.solr.common.params.CommonParams.NAME;
-
+ import static org.apache.solr.common.cloud.ZkStateReader.REPLICATION_FACTOR;
++import static org.apache.solr.common.cloud.ZkStateReader.NRT_REPLICAS;
++import static org.apache.solr.common.cloud.ZkStateReader.PULL_REPLICAS;
++import static org.apache.solr.common.cloud.ZkStateReader.TLOG_REPLICAS;
+ import static org.apache.solr.common.cloud.ZkStateReader.MAX_SHARDS_PER_NODE;
public class RestoreCmd implements OverseerCollectionMessageHandler.Cmd {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@@ -95,6 -102,22 +107,30 @@@
String backupCollection = properties.getProperty(BackupManager.COLLECTION_NAME_PROP);
DocCollection backupCollectionState = backupMgr.readCollectionState(location, backupName, backupCollection);
+ // Get the Solr nodes to restore a collection.
+ final List<String> nodeList = OverseerCollectionMessageHandler.getLiveOrLiveAndCreateNodeSetList(
+ zkStateReader.getClusterState().getLiveNodes(), message, RANDOM);
+
+ int numShards = backupCollectionState.getActiveSlices().size();
- int repFactor = message.getInt(REPLICATION_FACTOR, backupCollectionState.getReplicationFactor());
++
++ int numNrtReplicas = getInt(message, NRT_REPLICAS, backupCollectionState.getNumNrtReplicas(), 0);
++ if (numNrtReplicas == 0) {
++ numNrtReplicas = getInt(message, REPLICATION_FACTOR, backupCollectionState.getReplicationFactor(), 0);
++ }
++ int numTlogReplicas = getInt(message, TLOG_REPLICAS, backupCollectionState.getNumTlogReplicas(), 0);
++ int numPullReplicas = getInt(message, PULL_REPLICAS, backupCollectionState.getNumPullReplicas(), 0);
++ int totalReplicasPerShard = numNrtReplicas + numTlogReplicas + numPullReplicas;
++
+ int maxShardsPerNode = message.getInt(MAX_SHARDS_PER_NODE, backupCollectionState.getMaxShardsPerNode());
+ int availableNodeCount = nodeList.size();
- if ((numShards * repFactor) > (availableNodeCount * maxShardsPerNode)) {
++ if ((numShards * totalReplicasPerShard) > (availableNodeCount * maxShardsPerNode)) {
+ throw new SolrException(ErrorCode.BAD_REQUEST,
+ String.format(Locale.ROOT, "Solr cloud with available number of nodes:%d is insufficient for"
- + " restoring a collection with %d shards, replication factor %d and maxShardsPerNode %d."
++ + " restoring a collection with %d shards, total replicas per shard %d and maxShardsPerNode %d."
+ + " Consider increasing maxShardsPerNode value OR number of available nodes.",
- availableNodeCount, numShards, repFactor, maxShardsPerNode));
++ availableNodeCount, numShards, totalReplicasPerShard, maxShardsPerNode));
+ }
+
//Upload the configs
String configName = (String) properties.get(COLL_CONF);
String restoreConfigName = message.getStr(COLL_CONF, configName);
@@@ -170,9 -193,16 +206,16 @@@
inQueue.offer(Utils.toJSON(new ZkNodeProps(propMap)));
}
- // TODO how do we leverage the CREATE_NODE_SET / RULE / SNITCH logic in createCollection?
+ // TODO how do we leverage the RULE / SNITCH logic in createCollection?
ClusterState clusterState = zkStateReader.getClusterState();
+
+ List<String> sliceNames = new ArrayList<>();
+ restoreCollection.getSlices().forEach(x -> sliceNames.add(x.getName()));
+
+ Map<ReplicaAssigner.Position, String> positionVsNodes = ocmh.identifyNodes(clusterState, nodeList,
- message, sliceNames, repFactor);
++ message, sliceNames, numNrtReplicas, numTlogReplicas, numPullReplicas);
+
//Create one replica per shard and copy backed up data to it
for (Slice slice : restoreCollection.getSlices()) {
log.debug("Adding replica for shard={} collection={} ", slice.getName(), restoreCollection);
@@@ -180,12 -210,19 +223,25 @@@
propMap.put(Overseer.QUEUE_OPERATION, CREATESHARD);
propMap.put(COLLECTION_PROP, restoreCollectionName);
propMap.put(SHARD_ID_PROP, slice.getName());
+
- if (restoreCollection.getNumNrtReplicas() != null && restoreCollection.getNumNrtReplicas() >= 1) {
++ if (numNrtReplicas >= 1) {
+ propMap.put(REPLICA_TYPE, Replica.Type.NRT.name());
- } else if (restoreCollection.getNumTlogReplicas() != null && restoreCollection.getNumTlogReplicas() >= 1) {
++ } else if (numTlogReplicas >= 1) {
+ propMap.put(REPLICA_TYPE, Replica.Type.TLOG.name());
+ }
+
+ // Get the first node matching the shard to restore in
+ String node;
+ for (Map.Entry<ReplicaAssigner.Position, String> pvn : positionVsNodes.entrySet()) {
+ ReplicaAssigner.Position position = pvn.getKey();
+ if (position.shard == slice.getName()) {
+ node = pvn.getValue();
+ propMap.put(CoreAdminParams.NODE, node);
+ positionVsNodes.remove(position);
+ break;
+ }
+ }
+
// add async param
if (asyncId != null) {
propMap.put(ASYNC, asyncId);
@@@ -224,51 -261,30 +280,52 @@@
//refresh the location copy of collection state
restoreCollection = zkStateReader.getClusterState().getCollection(restoreCollectionName);
- //Add the remaining replicas for each shard, considering it's type
- int numNrtReplicas = restoreCollection.getNumNrtReplicas() != null?
- restoreCollection.getNumNrtReplicas():0;
- if (numNrtReplicas == 0) {
- numNrtReplicas = restoreCollection.getReplicationFactor() != null?
- restoreCollection.getReplicationFactor():0;
- }
- int numTlogReplicas = restoreCollection.getNumTlogReplicas() != null?
- restoreCollection.getNumTlogReplicas():0;
- int numPullReplicas = restoreCollection.getNumPullReplicas() != null?
- restoreCollection.getNumPullReplicas():0;
-
- int createdNrtReplicas = 0, createdTlogReplicas = 0, createdPullReplicas = 0;
-
- // We already created either a REALTIME or an TLOG replica as leader
- if (numNrtReplicas > 0) {
- createdNrtReplicas++;
- } else if (createdTlogReplicas > 0) {
- createdTlogReplicas++;
- }
-
- int totalReplicasPerShard = numNrtReplicas + numTlogReplicas + numPullReplicas;
-
- //Add the remaining replicas for each shard
- Integer numReplicas = restoreCollection.getReplicationFactor();
- if (numReplicas != null && numReplicas > 1) {
+ if (totalReplicasPerShard > 1) {
log.info("Adding replicas to restored collection={}", restoreCollection);
--
for (Slice slice : restoreCollection.getSlices()) {
- for (int i = 1; i < numReplicas; i++) {
- log.debug("Adding replica for shard={} collection={} ", slice.getName(), restoreCollection);
++
++ //Add the remaining replicas for each shard, considering it's type
++ int createdNrtReplicas = 0, createdTlogReplicas = 0, createdPullReplicas = 0;
++
++ // We already created either a NRT or an TLOG replica as leader
++ if (numNrtReplicas > 0) {
++ createdNrtReplicas++;
++ } else if (createdTlogReplicas > 0) {
++ createdTlogReplicas++;
++ }
++
+ for (int i = 1; i < totalReplicasPerShard; i++) {
+ Replica.Type typeToCreate;
+ if (createdNrtReplicas < numNrtReplicas) {
+ createdNrtReplicas++;
+ typeToCreate = Replica.Type.NRT;
+ } else if (createdTlogReplicas < numTlogReplicas) {
+ createdTlogReplicas++;
+ typeToCreate = Replica.Type.TLOG;
+ } else {
+ createdPullReplicas++;
+ typeToCreate = Replica.Type.PULL;
++ assert createdPullReplicas <= numPullReplicas: "Unexpected number of replicas";
+ }
-
++
+ log.debug("Adding replica for shard={} collection={} of type {} ", slice.getName(), restoreCollection, typeToCreate);
HashMap<String, Object> propMap = new HashMap<>();
propMap.put(COLLECTION_PROP, restoreCollectionName);
propMap.put(SHARD_ID_PROP, slice.getName());
+ propMap.put(REPLICA_TYPE, typeToCreate.name());
+
+ // Get the first node matching the shard to restore in
+ String node;
+ for (Map.Entry<ReplicaAssigner.Position, String> pvn : positionVsNodes.entrySet()) {
+ ReplicaAssigner.Position position = pvn.getKey();
+ if (position.shard == slice.getName()) {
+ node = pvn.getValue();
+ propMap.put(CoreAdminParams.NODE, node);
+ positionVsNodes.remove(position);
+ break;
+ }
+ }
+
// add async param
if (asyncId != null) {
propMap.put(ASYNC, asyncId);
@@@ -282,4 -298,4 +339,9 @@@
log.info("Completed restoring collection={} backupName={}", restoreCollection, backupName);
}
++
++ private int getInt(ZkNodeProps message, String propertyName, Integer default1, int default2) {
++ Integer value = message.getInt(REPLICATION_FACTOR, default1);
++ return value!=null?value:default2;
++ }
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/096ed90b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/096ed90b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/096ed90b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/096ed90b/solr/core/src/test/org/apache/solr/cloud/AbstractCloudBackupRestoreTestCase.java
----------------------------------------------------------------------
diff --cc solr/core/src/test/org/apache/solr/cloud/AbstractCloudBackupRestoreTestCase.java
index e488c53,3414759..a6d130e
--- a/solr/core/src/test/org/apache/solr/cloud/AbstractCloudBackupRestoreTestCase.java
+++ b/solr/core/src/test/org/apache/solr/cloud/AbstractCloudBackupRestoreTestCase.java
@@@ -28,8 -30,8 +30,9 @@@ import java.util.TreeMap
import org.apache.lucene.util.TestUtil;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
+ import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.request.CollectionAdminRequest.ClusterProp;
import org.apache.solr.client.solrj.response.RequestStatusState;
@@@ -237,10 -235,24 +240,24 @@@ public abstract class AbstractCloudBack
CollectionAdminRequest.Restore restore = CollectionAdminRequest.restoreCollection(restoreCollectionName, backupName)
.setLocation(backupLocation).setRepositoryName(getBackupRepoName());
- if (origShardToDocCount.size() > cluster.getJettySolrRunners().size()) {
+ if (backupCollection.getReplicas().size() > cluster.getJettySolrRunners().size()) {
// may need to increase maxShardsPerNode (e.g. if it was shard split, then now we need more)
- restore.setMaxShardsPerNode(origShardToDocCount.size());
+ restore.setMaxShardsPerNode((int)Math.ceil(backupCollection.getReplicas().size()/cluster.getJettySolrRunners().size()));
}
+
+ if (rarely()) { // Try with createNodeSet configuration
+ int nodeSetSize = cluster.getJettySolrRunners().size() / 2;
+ List<String> nodeStrs = new ArrayList<>(nodeSetSize);
+ Iterator<JettySolrRunner> iter = cluster.getJettySolrRunners().iterator();
+ for (int i = 0; i < nodeSetSize ; i++) {
+ nodeStrs.add(iter.next().getNodeName());
+ }
+ restore.setCreateNodeSet(String.join(",", nodeStrs));
+ restore.setCreateNodeSetShuffle(usually());
+ // we need to double maxShardsPerNode value since we reduced number of available nodes by half.
+ restore.setMaxShardsPerNode(origShardToDocCount.size() * 2);
+ }
+
Properties props = new Properties();
props.setProperty("customKey", "customVal");
restore.setProperties(props);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/096ed90b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/096ed90b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
----------------------------------------------------------------------
diff --cc solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
index d5a2af6,0c1116a..0b8dd74
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
@@@ -48,6 -45,10 +48,9 @@@ import org.apache.solr.common.params.So
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.NamedList;
-import static org.apache.solr.common.params.CollectionAdminParams.COUNT_PROP;
+ import static org.apache.solr.common.params.CollectionAdminParams.CREATE_NODE_SET_PARAM;
+ import static org.apache.solr.common.params.CollectionAdminParams.CREATE_NODE_SET_SHUFFLE_PARAM;
+
/**
* This class is experimental and subject to change.
*
@@@ -435,10 -410,9 +438,11 @@@ public abstract class CollectionAdminRe
public Create setNumShards(Integer numShards) {this.numShards = numShards; return this; }
public Create setMaxShardsPerNode(Integer numShards) { this.maxShardsPerNode = numShards; return this; }
public Create setAutoAddReplicas(boolean autoAddReplicas) { this.autoAddReplicas = autoAddReplicas; return this; }
- public Create setRealtimeReplicas(Integer realtimeReplicas) { this.realtimeReplicas = realtimeReplicas; return this;}
- @Deprecated
- public Create setReplicationFactor(Integer repl) { this.replicationFactor = repl; return this; }
+ public Create setNrtReplicas(Integer nrtReplicas) { this.nrtReplicas = nrtReplicas; return this;}
+ public Create setTlogReplicas(Integer tlogReplicas) { this.tlogReplicas = tlogReplicas; return this;}
++ public Create setPullReplicas(Integer pullReplicas) { this.pullReplicas = pullReplicas; return this;}
+
+ public Create setReplicationFactor(Integer repl) { this.nrtReplicas = repl; return this; }
public Create setStateFormat(Integer stateFormat) { this.stateFormat = stateFormat; return this; }
public Create setRule(String... s){ this.rule = s; return this; }
public Create setSnitch(String... s){ this.snitch = s; return this; }
@@@ -449,13 -423,9 +453,14 @@@
public String getShards() { return shards; }
public Integer getNumShards() { return numShards; }
public Integer getMaxShardsPerNode() { return maxShardsPerNode; }
- public Integer getReplicationFactor() { return replicationFactor; }
+
+ public Integer getReplicationFactor() { return getNumNrtReplicas(); }
+ public Integer getNumNrtReplicas() { return nrtReplicas; }
public Boolean getAutoAddReplicas() { return autoAddReplicas; }
- public Integer getRealtimeReplicas() { return realtimeReplicas; }
+ public Integer getNrtReplicas() { return nrtReplicas; }
+ public Integer getTlogReplicas() {return tlogReplicas;}
++ public Integer getPullReplicas() {return pullReplicas;}
+
public Integer getStateFormat() { return stateFormat; }
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/096ed90b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
----------------------------------------------------------------------