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 2019/12/18 16:39:12 UTC

[lucene-solr] 34/36: Merge branch 'master' into jira/solr-13579

This is an automated email from the ASF dual-hosted git repository.

ab pushed a commit to branch jira/solr-13579
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit f1ebfdcbafb84373c103a3917ff2660ac2faa989
Merge: 5932e53 b5a2cfb
Author: Andrzej Bialecki <ab...@apache.org>
AuthorDate: Mon Dec 16 16:00:08 2019 +0100

    Merge branch 'master' into jira/solr-13579

 .github/PULL_REQUEST_TEMPLATE.md                   |    3 +-
 dev-tools/doap/lucene.rdf                          |    7 +
 dev-tools/doap/solr.rdf                            |    7 +
 lucene/CHANGES.txt                                 |   68 +-
 lucene/MIGRATE.txt                                 |    5 +
 .../analysis/charfilter/NormalizeCharMap.java      |    7 +-
 .../lucene/analysis/hunspell/Dictionary.java       |   22 +-
 .../miscellaneous/StemmerOverrideFilter.java       |    7 +-
 .../apache/lucene/analysis/synonym/SynonymMap.java |    9 +-
 .../lucene/analysis/hunspell/TestDictionary.java   |   14 +-
 .../org/apache/lucene/analysis/hunspell/broken.aff |    2 +-
 .../lucene/analysis/hunspell/complexprefix.aff     |    2 +-
 .../org/apache/lucene/analysis/hunspell/conv.aff   |    2 +-
 .../lucene/analysis/hunspell/dependencies.aff      |    2 +-
 .../apache/lucene/analysis/hunspell/homonyms.dic   |    2 +-
 .../org/apache/lucene/analysis/hunspell/ignore.aff |    2 +-
 .../org/apache/lucene/analysis/hunspell/ignore.dic |    2 +-
 .../apache/lucene/analysis/hunspell/keepcase.dic   |    2 +-
 .../apache/lucene/analysis/hunspell/needaffix.dic  |    2 +-
 .../analysis/hunspell/optional-condition.aff       |    2 +-
 .../org/apache/lucene/analysis/hunspell/simple.aff |    2 +-
 .../lucene/analysis/ja/dict/UserDictionary.java    |    8 +-
 .../ja/util/TokenInfoDictionaryBuilder.java        |    8 +-
 .../lucene/analysis/ko/dict/UserDictionary.java    |    8 +-
 .../ko/util/TokenInfoDictionaryBuilder.java        |    8 +-
 .../lucene/index/TestBackwardsCompatibility.java   |    7 +-
 .../org/apache/lucene/index/index.8.3.1-cfs.zip    |  Bin 0 -> 15677 bytes
 .../org/apache/lucene/index/index.8.3.1-nocfs.zip  |  Bin 0 -> 15696 bytes
 .../test/org/apache/lucene/index/sorted.8.3.1.zip  |  Bin 0 -> 87919 bytes
 lucene/build.xml                                   |    2 +-
 .../BooleanPerceptronClassifier.java               |    8 +-
 .../blockterms/VariableGapTermsIndexWriter.java    |   12 +-
 .../blocktreeords/OrdsBlockTreeTermsWriter.java    |   16 +-
 .../lucene/codecs/memory/DirectPostingsFormat.java |    2 +-
 .../lucene/codecs/memory/FSTOrdTermsWriter.java    |   10 +-
 .../lucene/codecs/memory/FSTTermsWriter.java       |   10 +-
 .../codecs/simpletext/SimpleTextFieldsReader.java  |   12 +-
 .../lucene/codecs/uniformsplit/FSTDictionary.java  |    9 +-
 lucene/common-build.xml                            |    1 -
 lucene/core/build.xml                              |    1 -
 .../org/apache/lucene/analysis/CharacterUtils.java |    4 +-
 .../tokenattributes/TermFrequencyAttribute.java    |    2 +-
 .../TermFrequencyAttributeImpl.java                |    2 +-
 .../codecs/CompetitiveImpactAccumulator.java       |    2 +-
 .../codecs/blocktree/BlockTreeTermsReader.java     |   25 +-
 .../codecs/blocktree/BlockTreeTermsWriter.java     |   16 +-
 .../codecs/blocktree/IntersectTermsEnum.java       |    2 +-
 .../apache/lucene/codecs/lucene80/IndexedDISI.java |    2 +-
 .../codecs/perfield/PerFieldPostingsFormat.java    |   65 +-
 .../java/org/apache/lucene/geo/Component2D.java    |   27 +
 .../java/org/apache/lucene/geo/ComponentTree.java  |    9 +
 .../src/java/org/apache/lucene/geo/EdgeTree.java   |   44 +-
 .../src/java/org/apache/lucene/geo/Polygon2D.java  |   65 +-
 .../lucene/geo/SimpleGeoJSONPolygonParser.java     |    2 +-
 .../org/apache/lucene/index/DocValuesIterator.java |    2 +-
 .../lucene/index/DocumentsWriterPerThread.java     |    2 +-
 .../java/org/apache/lucene/index/FieldInfos.java   |    2 +-
 .../apache/lucene/index/FieldUpdatesBuffer.java    |    4 +-
 .../org/apache/lucene/index/SegmentWriteState.java |    2 +-
 .../org/apache/lucene/search/AutomatonQuery.java   |    4 +-
 .../lucene/search/DocValuesFieldExistsQuery.java   |    2 +-
 .../java/org/apache/lucene/search/FuzzyQuery.java  |   13 +-
 .../org/apache/lucene/search/IndexSearcher.java    |   12 +-
 .../org/apache/lucene/search/LRUQueryCache.java    |   76 +-
 .../org/apache/lucene/search/MultiTermQuery.java   |   11 +-
 .../java/org/apache/lucene/search/PhraseQuery.java |   16 +
 .../java/org/apache/lucene/search/QueryCache.java  |    5 +-
 .../org/apache/lucene/search/QueryVisitor.java     |   15 +-
 .../org/apache/lucene/search/ReferenceManager.java |    2 +-
 .../lucene/search/similarities/BM25Similarity.java |   28 +-
 .../src/java/org/apache/lucene/util/Version.java   |   14 +
 .../apache/lucene/util/automaton/Automaton.java    |    2 +-
 .../lucene/util/automaton/ByteRunAutomaton.java    |    1 -
 .../util/automaton/CharacterRunAutomaton.java      |    2 +-
 .../lucene/util/automaton/CompiledAutomaton.java   |   28 +-
 .../TooComplexToDeterminizeException.java          |    2 +-
 .../src/java/org/apache/lucene/util/fst/FST.java   |  251 +--
 .../util/fst/{Builder.java => FSTCompiler.java}    |  289 ++--
 .../java/org/apache/lucene/util/fst/NodeHash.java  |   16 +-
 .../util/packed/MonotonicBlockPackedWriter.java    |    2 +-
 .../org/apache/lucene/util/packed/PackedInts.java  |    2 +-
 .../apache/lucene/analysis/TestCharacterUtils.java |   11 +
 .../test/org/apache/lucene/geo/TestPolygon.java    |    2 +-
 .../apache/lucene/search/TestIndexSearcher.java    |    7 +-
 .../apache/lucene/search/TestLRUQueryCache.java    |  607 +------
 .../test/org/apache/lucene/util/fst/Test2BFST.java |   35 +-
 ...ddressing.java => TestFSTDirectAddressing.java} |   53 +-
 .../test/org/apache/lucene/util/fst/TestFSTs.java  |  158 +-
 .../test/org/apache/lucene/util/fst/TestUtil.java  |   10 +-
 .../apache/lucene/search/grouping/TopGroups.java   |   21 +-
 .../lucene/search/grouping/TopGroupsTest.java      |   10 +-
 ...OpOffsetStrategy.java => CharArrayMatcher.java} |   39 +-
 .../search/uhighlight/FieldOffsetStrategy.java     |   13 +-
 .../uhighlight/LabelledCharArrayMatcher.java       |   88 ++
 .../uhighlight/MemoryIndexOffsetStrategy.java      |   32 +-
 .../search/uhighlight/MultiTermHighlighting.java   |   91 +-
 .../search/uhighlight/NoOpOffsetStrategy.java      |    4 +-
 .../uhighlight/TokenStreamOffsetStrategy.java      |   24 +-
 .../lucene/search/uhighlight/UHComponents.java     |    7 +-
 .../search/uhighlight/UnifiedHighlighter.java      |    7 +-
 .../lucene/search/highlight/TokenSourcesTest.java  |    2 +-
 .../TestUnifiedHighlighterExtensibility.java       |    6 +-
 lucene/ivy-versions.properties                     |   12 +-
 lucene/licenses/jcl-over-slf4j-LICENSE-MIT.txt     |   21 -
 lucene/licenses/jcl-over-slf4j-NOTICE.txt          |   25 -
 .../jetty-continuation-9.4.19.v20190610.jar.sha1   |    1 -
 .../jetty-continuation-9.4.24.v20191120.jar.sha1   |    1 +
 .../licenses/jetty-http-9.4.19.v20190610.jar.sha1  |    1 -
 .../licenses/jetty-http-9.4.24.v20191120.jar.sha1  |    1 +
 lucene/licenses/jetty-io-9.4.19.v20190610.jar.sha1 |    1 -
 lucene/licenses/jetty-io-9.4.24.v20191120.jar.sha1 |    1 +
 .../jetty-server-9.4.19.v20190610.jar.sha1         |    1 -
 .../jetty-server-9.4.24.v20191120.jar.sha1         |    1 +
 .../jetty-servlet-9.4.19.v20190610.jar.sha1        |    1 -
 .../jetty-servlet-9.4.24.v20191120.jar.sha1        |    1 +
 .../licenses/jetty-util-9.4.19.v20190610.jar.sha1  |    1 -
 .../licenses/jetty-util-9.4.24.v20191120.jar.sha1  |    1 +
 lucene/licenses/log4j-LICENSE-ASL.txt              |  202 ---
 lucene/licenses/log4j-NOTICE.txt                   |    5 -
 .../randomizedtesting-runner-2.7.2.jar.sha1        |    1 -
 .../randomizedtesting-runner-2.7.5.jar.sha1        |    1 +
 lucene/licenses/slf4j-LICENSE-MIT.txt              |   21 -
 lucene/licenses/slf4j-NOTICE.txt                   |   25 -
 lucene/licenses/slf4j-api-1.7.24.jar.sha1          |    1 -
 .../org/apache/lucene/util/fst/ListOfOutputs.java  |    4 +-
 .../lucene/util/fst/UpToTwoPositiveIntOutputs.java |    4 +-
 .../org/apache/lucene/util/fst/TestFSTsMisc.java   |   34 +-
 lucene/module-build.xml                            |    1 -
 .../lucene/queries/intervals/IntervalQuery.java    |    7 +-
 .../queries/intervals/IntervalScoreFunction.java   |    4 +-
 .../intervals/MultiTermIntervalsSource.java        |    2 +-
 .../queries/intervals/TestIntervalQuery.java       |   20 +
 lucene/replicator/build.xml                        |    2 +-
 .../idversion/VersionBlockTreeTermsWriter.java     |   17 +-
 .../org/apache/lucene/document/LatLonShape.java    |   23 +
 .../document/LatLonShapeBoundingBoxQuery.java      |   11 +
 .../lucene/document/LatLonShapeLineQuery.java      |   16 +-
 .../lucene/document/LatLonShapePolygonQuery.java   |   14 +
 .../org/apache/lucene/document/ShapeField.java     |    2 +-
 .../org/apache/lucene/document/ShapeQuery.java     |   72 +-
 .../java/org/apache/lucene/document/XYShape.java   |   16 +
 .../lucene/document/XYShapeBoundingBoxQuery.java   |   81 +-
 .../apache/lucene/document/XYShapeLineQuery.java   |   14 +
 .../lucene/document/XYShapePolygonQuery.java       |   14 +
 .../src/java/org/apache/lucene/geo/Line2D.java     |   51 +
 .../java/org/apache/lucene/geo/Rectangle2D.java    |   60 +
 .../java/org/apache/lucene/geo/XYRectangle2D.java  |  218 ++-
 .../apache/lucene/search/PhraseWildcardQuery.java  | 1045 +++++++++++++
 .../lucene/document/BaseLatLonShapeTestCase.java   |   10 +
 .../apache/lucene/document/BaseShapeTestCase.java  |   29 +-
 .../lucene/document/BaseXYShapeTestCase.java       |    9 +
 .../document/TestLatLonLineShapeQueries.java       |   28 +
 .../document/TestLatLonMultiLineShapeQueries.java  |    8 +-
 .../document/TestLatLonMultiPointShapeQueries.java |    8 +-
 .../TestLatLonMultiPolygonShapeQueries.java        |   39 +-
 .../document/TestLatLonPointShapeQueries.java      |    6 +
 .../document/TestLatLonPolygonShapeQueries.java    |   41 +-
 .../apache/lucene/document/TestLatLonShape.java    |  171 ++
 .../lucene/document/TestXYLineShapeQueries.java    |   34 +-
 .../document/TestXYMultiLineShapeQueries.java      |   22 +-
 .../document/TestXYMultiPointShapeQueries.java     |   22 +-
 .../document/TestXYMultiPolygonShapeQueries.java   |   53 +-
 .../lucene/document/TestXYPointShapeQueries.java   |   21 +-
 .../lucene/document/TestXYPolygonShapeQueries.java |   46 +-
 .../org/apache/lucene/document/TestXYShape.java    |   56 +
 .../src/test/org/apache/lucene/geo/TestLine2D.java |    8 +-
 .../org/apache/lucene/geo/TestRectangle2D.java     |   58 +-
 .../org/apache/lucene/geo/TestXYRectangle2D.java   |   88 ++
 .../lucene/search/TestPhraseWildcardQuery.java     |  583 +++++++
 lucene/spatial-extras/ivy.xml                      |    4 +-
 .../suggest/analyzing/AnalyzingSuggester.java      |   10 +-
 .../suggest/analyzing/FreeTextSuggester.java       |    8 +-
 .../suggest/document/NRTSuggesterBuilder.java      |   14 +-
 .../search/suggest/fst/FSTCompletionBuilder.java   |   13 +-
 .../search/suggest/fst/WFSTCompletionLookup.java   |    8 +-
 lucene/test-framework/build.xml                    |    1 -
 .../apache/lucene/util/TestSecurityManager.java    |    4 +-
 .../java/org/apache/lucene/util/fst/FSTTester.java |   29 +-
 lucene/tools/custom-tasks.xml                      |    2 +-
 lucene/tools/junit4/replicator-tests.policy        |   91 ++
 lucene/tools/junit4/solr-tests.policy              |  145 +-
 solr/CHANGES.txt                                   |  179 ++-
 solr/bin/solr                                      |    4 +-
 solr/bin/solr.cmd                                  |    2 +
 solr/build.xml                                     |    2 +-
 solr/common-build.xml                              |    9 +-
 .../solr/analytics/AnalyticsRequestManager.java    |   11 +
 .../solr/analytics/TimeExceededStubException.java} |   25 +-
 .../stream/AnalyticsShardRequestManager.java       |   10 +-
 .../org/apache/solr/handler/AnalyticsHandler.java  |   13 +
 .../solr/handler/component/AnalyticsComponent.java |    4 +
 .../solr/analytics/ExpressionFactoryTest.java      |    6 +
 .../function/field/AbstractAnalyticsFieldTest.java |    3 +
 .../legacy/LegacyAbstractAnalyticsCloudTest.java   |   32 +-
 .../legacy/LegacyAbstractAnalyticsTest.java        |    4 +
 .../analytics/legacy/LegacyNoFacetCloudTest.java   |    8 +-
 .../legacy/facet/LegacyFieldFacetCloudTest.java    |    7 +-
 .../facet/LegacyFieldFacetExtrasCloudTest.java     |    6 +-
 .../legacy/facet/LegacyFieldFacetTest.java         |   17 +
 .../TestSolrEntityProcessorEndToEnd.java           |    2 +-
 .../LanguageIdentifierUpdateProcessor.java         |   22 +-
 ...geIdentifierUpdateProcessorFactoryTestCase.java |   21 -
 .../solr/prometheus/scraper/SolrCloudScraper.java  |    7 +-
 .../scraper/SolrStandaloneScraperTest.java         |    2 +
 .../solr/response/SolrParamResourceLoader.java     |   73 -
 .../solr/response/VelocityResponseWriter.java      |  179 ++-
 .../velocity/solr/collection1/conf/solrconfig.xml  |    3 -
 .../solr/collection1/conf/velocity/custom_tool.vm  |    1 -
 .../solr/collection1/conf/velocity/foreach.vm      |    1 -
 .../collection1/conf/velocity/locale_number.vm     |    1 +
 .../collection1/conf/velocity/outside_the_box.vm   |    4 +
 .../conf/velocity/sandbox_intersection.vm          |    5 +
 solr/contrib/velocity/src/test/custom_tool.vm      |   19 +
 solr/contrib/velocity/src/test/foreach.vm          |   14 +
 .../solr/velocity/VelocityResponseWriterTest.java  |  172 +-
 solr/core/ivy.xml                                  |    1 +
 .../apache/solr/cloud/ExclusiveSliceProperty.java  |    2 +-
 .../solr/cloud/RecoveringCoreTermWatcher.java      |    3 +-
 .../java/org/apache/solr/cloud/ZkShardTerms.java   |  259 +--
 .../cloud/api/collections/CreateCollectionCmd.java |    2 +-
 .../solr/cloud/api/collections/RestoreCmd.java     |   30 +-
 .../solr/cloud/api/collections/SplitShardCmd.java  |   49 +-
 .../autoscaling/sim/SimClusterStateProvider.java   |   12 +-
 .../solr/cloud/autoscaling/sim/SimScenario.java    |   29 +-
 .../solr/cloud/overseer/ClusterStateMutator.java   |    4 +-
 .../solr/cloud/overseer/CollectionMutator.java     |    2 +-
 .../apache/solr/cloud/overseer/NodeMutator.java    |    4 +-
 .../apache/solr/cloud/overseer/ReplicaMutator.java |   25 +-
 .../apache/solr/cloud/overseer/SliceMutator.java   |   14 +-
 .../org/apache/solr/core/ConfigSetService.java     |    7 +-
 .../java/org/apache/solr/core/CoreContainer.java   |   17 +
 .../src/java/org/apache/solr/core/SolrConfig.java  |   59 +-
 .../org/apache/solr/filestore/PackageStoreAPI.java |    4 +
 .../apache/solr/handler/RequestHandlerBase.java    |   21 +-
 .../org/apache/solr/handler/StreamHandler.java     |   22 +
 .../solr/handler/admin/HealthCheckHandler.java     |    2 +-
 .../solr/handler/component/ExpandComponent.java    |   39 +-
 .../solr/handler/component/HttpShardHandler.java   |    9 +-
 .../solr/handler/component/SearchHandler.java      |    2 +-
 .../apache/solr/handler/loader/JavabinLoader.java  |    1 -
 .../solr/metrics/reporters/SolrSlf4jReporter.java  |    2 +-
 .../solr/metrics/reporters/solr/SolrReporter.java  |    8 +-
 .../packagemanager/DefaultPackageRepository.java   |    5 +-
 .../apache/solr/packagemanager/PackageManager.java |   85 +-
 .../apache/solr/packagemanager/PackageUtils.java   |    7 +
 .../solr/packagemanager/RepositoryManager.java     |   30 +-
 .../src/java/org/apache/solr/pkg/PackageAPI.java   |    8 +-
 .../org/apache/solr/response/DocsStreamer.java     |    7 +-
 .../org/apache/solr/schema/FieldProperties.java    |    7 +-
 .../src/java/org/apache/solr/schema/FieldType.java |    2 -
 .../java/org/apache/solr/schema/IndexSchema.java   |    5 +-
 .../solr/schema/LatLonPointSpatialField.java       |   11 +-
 .../java/org/apache/solr/schema/SchemaField.java   |   20 +-
 .../solr/search/CollapsingQParserPlugin.java       |    6 +
 .../org/apache/solr/search/ValueSourceParser.java  |   31 +-
 .../java/org/apache/solr/search/facet/AggUtil.java |   65 +
 .../java/org/apache/solr/search/facet/AvgAgg.java  |  200 ++-
 .../org/apache/solr/search/facet/DocValuesAcc.java |  245 ++-
 .../java/org/apache/solr/search/facet/HLLAgg.java  |   12 +-
 .../org/apache/solr/search/facet/MinMaxAgg.java    |  190 ++-
 .../apache/solr/search/facet/PercentileAgg.java    |  292 +++-
 .../java/org/apache/solr/search/facet/SlotAcc.java |   21 +-
 .../org/apache/solr/search/facet/StddevAgg.java    |   72 +-
 .../java/org/apache/solr/search/facet/SumAgg.java  |   86 +-
 .../org/apache/solr/search/facet/SumsqAgg.java     |   86 +-
 .../solr/search/facet/UnInvertedFieldAcc.java      |  113 ++
 .../org/apache/solr/search/facet/UniqueAgg.java    |   12 +-
 .../org/apache/solr/search/facet/VarianceAgg.java  |   72 +-
 .../java/org/apache/solr/security/AuditEvent.java  |  135 +-
 .../apache/solr/update/DirectUpdateHandler2.java   |    6 +
 .../org/apache/solr/update/DocumentBuilder.java    |    4 +-
 .../org/apache/solr/update/SolrCmdDistributor.java |   12 +-
 .../apache/solr/update/StreamingSolrClients.java   |    7 +-
 .../processor/AtomicUpdateDocumentMerger.java      |    2 +-
 .../src/java/org/apache/solr/util/FSHDFSUtils.java |    2 +-
 .../src/java/org/apache/solr/util/PackageTool.java |   18 +-
 .../java/org/apache/solr/util/SimplePostTool.java  |   64 +-
 .../java/org/apache/solr/util/TestInjection.java   |   15 +
 .../src/test-files/core-site.xml}                  |   16 +-
 .../test-files/runtimecode/TestVersionedURP.java   |    1 +
 .../solr/collection1/conf/schema-nest.xml          |    4 +
 .../test-files/solr/collection1/conf/schema.xml    |    1 +
 .../collection1/conf/schema_postingsformat.xml     |   41 +
 .../solr/configsets/_default/conf/params.json      |   20 -
 .../solr/configsets/_default/conf/solrconfig.xml   |  152 +-
 .../upload/with-lib-directive/managed-schema       |   25 +
 .../upload/with-lib-directive/solrconfig.xml       |   53 +
 .../src/test/org/apache/hadoop/fs/FileUtil.java    | 1653 ++++++++++++++++++++
 .../src/test/org/apache/hadoop/fs/HardLink.java    |  183 +++
 .../org/apache/hadoop/fs/RawLocalFileSystem.java   | 1046 +++++++++++++
 .../datanode/fsdataset/impl/BlockPoolSlice.java    |  117 +-
 .../server/namenode/NameNodeResourceChecker.java   |   56 +
 .../test/org/apache/hadoop/http/HttpServer2.java   |    7 +-
 .../src/test/org/apache/hadoop/package-info.java   |   39 +
 .../test/org/apache/hadoop/util/DiskChecker.java   |  372 +++++
 .../apache/solr/cloud/ClusterStateMockUtil.java    |   12 +-
 .../org/apache/solr/cloud/ClusterStateTest.java    |    8 +-
 .../solr/cloud/CreateCollectionCleanupTest.java    |   19 +-
 .../cloud/FullThrottleStoppableIndexingThread.java |    3 +
 .../solr/cloud/LegacyCloudClusterPropTest.java     |    3 +-
 .../OverseerCollectionConfigSetProcessorTest.java  |    5 +-
 .../test/org/apache/solr/cloud/OverseerTest.java   |    2 +
 .../apache/solr/cloud/PackageManagerCLITest.java   |    9 +-
 .../cloud/SharedFSAutoReplicaFailoverTest.java     |   10 +-
 .../test/org/apache/solr/cloud/SliceStateTest.java |   14 +-
 .../org/apache/solr/cloud/TestConfigSetsAPI.java   |   47 +-
 .../cloud/TestDynamicFieldNamesIndexCorrectly.java |    2 +-
 .../org/apache/solr/cloud/TestHashPartitioner.java |    2 +-
 .../TestSolrCloudWithSecureImpersonation.java      |   76 +-
 .../org/apache/solr/cloud/TestWithCollection.java  |    6 +
 .../org/apache/solr/cloud/ZkShardTermsTest.java    |    3 +-
 .../solr/cloud/api/collections/AssignTest.java     |   18 +-
 .../ConcurrentCreateCollectionTest.java            |  293 ++++
 .../cloud/api/collections/SplitByPrefixTest.java   |   19 +
 .../cloud/autoscaling/ComputePlanActionTest.java   |    6 +
 .../IndexSizeTriggerMixedBoundsTest.java           |  391 +++++
 .../IndexSizeTriggerSizeEstimationTest.java        |  320 ++++
 .../cloud/autoscaling/IndexSizeTriggerTest.java    |  474 +-----
 .../NodeAddedTriggerIntegrationTest.java           |    6 +
 .../NodeLostTriggerIntegrationTest.java            |    6 +
 .../SearchRateTriggerIntegrationTest.java          |    6 +
 .../cloud/autoscaling/TriggerIntegrationTest.java  |    6 +
 .../sim/TestSimClusterStateProvider.java           |    1 +
 .../cloud/autoscaling/sim/TestSimScenario.java     |   32 +-
 .../autoscaling/sim/TestSnapshotCloudManager.java  |   10 +
 .../apache/solr/cloud/hdfs/FakeGroupMapping.java}  |   23 +-
 .../solr/cloud/hdfs/HDFSCollectionsAPITest.java    |    4 +-
 .../cloud/hdfs/HdfsBasicDistributedZk2Test.java    |   11 +-
 .../solr/cloud/hdfs/HdfsRecoverLeaseTest.java      |    7 +-
 .../apache/solr/cloud/hdfs/HdfsSyncSliceTest.java  |    7 +-
 .../org/apache/solr/cloud/hdfs/HdfsTestUtil.java   |  122 +-
 .../hdfs/HdfsWriteToMultipleCollectionsTest.java   |    1 +
 .../test/org/apache/solr/cloud/rule/RulesTest.java |    9 +-
 .../test/org/apache/solr/core/CoreSorterTest.java  |    2 +-
 .../test/org/apache/solr/core/SolrCoreTest.java    |   12 +-
 .../src/test/org/apache/solr/core/TestConfig.java  |   12 +-
 .../org/apache/solr/core/TestJmxIntegration.java   |    1 +
 .../solr/filestore/TestDistribPackageStore.java    |   19 +-
 .../solr/handler/admin/CoreAdminHandlerTest.java   |   11 +-
 .../handler/admin/MetricsHistoryHandlerTest.java   |    5 +
 .../component/CustomTermsComponentTest.java        |    2 +-
 .../component/DistributedDebugComponentTest.java   |    2 +-
 .../solr/handler/component/StatsComponentTest.java |  143 +-
 .../handler/component/TestExpandComponent.java     |   22 +-
 .../tagger/EmbeddedSolrNoSerializeTest.java        |    6 +
 .../solr/handler/tagger/XmlInterpolationTest.java  |    6 +
 .../apache/solr/index/hdfs/CheckHdfsIndexTest.java |    1 +
 .../src/test/org/apache/solr/pkg/TestPackages.java |   13 +-
 .../test/org/apache/solr/schema/DateFieldTest.java |    3 +-
 .../apache/solr/schema/PrimitiveFieldTypeTest.java |    3 +-
 .../solr/schema/TestManagedSchemaThreadSafety.java |    2 +-
 .../org/apache/solr/schema/TestSchemaField.java    |   84 +
 .../solr/search/TestCollapseQParserPlugin.java     |   18 +-
 .../org/apache/solr/search/TestRecoveryHdfs.java   |   33 +-
 ...stributedFacetSimpleRefinementLongTailTest.java |   34 +-
 .../apache/solr/search/facet/TestJsonFacets.java   |  154 +-
 .../solr/search/join/TestCloudNestedDocsSort.java  |    6 +
 .../solr/security/AuditLoggerPluginTest.java       |   23 +-
 .../security/JWTAuthPluginIntegrationTest.java     |    3 +-
 .../hadoop/TestDelegationWithHadoopAuth.java       |    9 +-
 .../hadoop/TestImpersonationWithHadoopAuth.java    |    6 +-
 .../hadoop/TestSolrCloudWithHadoopAuthPlugin.java  |    4 +-
 .../security/hadoop/TestZkAclsWithHadoopAuth.java  |   26 +-
 .../apache/solr/store/hdfs/HdfsDirectoryTest.java  |    7 +-
 .../solr/store/hdfs/HdfsLockFactoryTest.java       |    7 +-
 .../apache/solr/update/SolrCmdDistributorTest.java |   39 +-
 .../apache/solr/update/SolrIndexConfigTest.java    |   12 +-
 .../org/apache/solr/update/TestHdfsUpdateLog.java  |    2 +-
 .../CategoryRoutedAliasUpdateProcessorTest.java    |    6 +
 .../DimensionalRoutedAliasUpdateProcessorTest.java |    1 +
 .../update/processor/NestedAtomicUpdateTest.java   |   23 +-
 .../org/apache/solr/util/SimplePostToolTest.java   |    7 +-
 .../org/apache/solr/util/TestSystemIdResolver.java |    1 +
 .../solr/solr/conf/solr-data-config.xml            |    2 +-
 solr/licenses/carrot2-mini-3.16.0.jar.sha1         |    1 -
 solr/licenses/carrot2-mini-3.16.2.jar.sha1         |    1 +
 .../http2-client-9.4.19.v20190610.jar.sha1         |    1 -
 .../http2-client-9.4.24.v20191120.jar.sha1         |    1 +
 .../http2-common-9.4.19.v20190610.jar.sha1         |    1 -
 .../http2-common-9.4.24.v20191120.jar.sha1         |    1 +
 .../licenses/http2-hpack-9.4.19.v20190610.jar.sha1 |    1 -
 .../licenses/http2-hpack-9.4.24.v20191120.jar.sha1 |    1 +
 ...http-client-transport-9.4.19.v20190610.jar.sha1 |    1 -
 ...http-client-transport-9.4.24.v20191120.jar.sha1 |    1 +
 .../http2-server-9.4.19.v20190610.jar.sha1         |    1 -
 .../http2-server-9.4.24.v20191120.jar.sha1         |    1 +
 solr/licenses/jackson-annotations-2.10.0.jar.sha1  |    1 +
 solr/licenses/jackson-annotations-2.9.9.jar.sha1   |    1 -
 solr/licenses/jackson-core-2.10.0.jar.sha1         |    1 +
 solr/licenses/jackson-core-2.9.9.jar.sha1          |    1 -
 solr/licenses/jackson-databind-2.10.0.jar.sha1     |    1 +
 solr/licenses/jackson-databind-2.9.9.3.jar.sha1    |    1 -
 .../jackson-dataformat-smile-2.10.0.jar.sha1       |    1 +
 .../jackson-dataformat-smile-2.9.9.jar.sha1        |    1 -
 .../jetty-alpn-client-9.4.19.v20190610.jar.sha1    |    1 -
 .../jetty-alpn-client-9.4.24.v20191120.jar.sha1    |    1 +
 ...etty-alpn-java-client-9.4.19.v20190610.jar.sha1 |    1 -
 ...etty-alpn-java-client-9.4.24.v20191120.jar.sha1 |    1 +
 ...etty-alpn-java-server-9.4.19.v20190610.jar.sha1 |    1 -
 ...etty-alpn-java-server-9.4.24.v20191120.jar.sha1 |    1 +
 .../jetty-alpn-server-9.4.19.v20190610.jar.sha1    |    1 -
 .../jetty-alpn-server-9.4.24.v20191120.jar.sha1    |    1 +
 .../jetty-client-9.4.19.v20190610.jar.sha1         |    1 -
 .../jetty-client-9.4.24.v20191120.jar.sha1         |    1 +
 .../jetty-continuation-9.4.19.v20190610.jar.sha1   |    1 -
 .../jetty-continuation-9.4.24.v20191120.jar.sha1   |    1 +
 .../jetty-deploy-9.4.19.v20190610.jar.sha1         |    1 -
 .../jetty-deploy-9.4.24.v20191120.jar.sha1         |    1 +
 solr/licenses/jetty-http-9.4.19.v20190610.jar.sha1 |    1 -
 solr/licenses/jetty-http-9.4.24.v20191120.jar.sha1 |    1 +
 solr/licenses/jetty-io-9.4.19.v20190610.jar.sha1   |    1 -
 solr/licenses/jetty-io-9.4.24.v20191120.jar.sha1   |    1 +
 solr/licenses/jetty-jmx-9.4.19.v20190610.jar.sha1  |    1 -
 solr/licenses/jetty-jmx-9.4.24.v20191120.jar.sha1  |    1 +
 .../jetty-rewrite-9.4.19.v20190610.jar.sha1        |    1 -
 .../jetty-rewrite-9.4.24.v20191120.jar.sha1        |    1 +
 .../jetty-security-9.4.19.v20190610.jar.sha1       |    1 -
 .../jetty-security-9.4.24.v20191120.jar.sha1       |    1 +
 .../jetty-server-9.4.19.v20190610.jar.sha1         |    1 -
 .../jetty-server-9.4.24.v20191120.jar.sha1         |    1 +
 .../jetty-servlet-9.4.19.v20190610.jar.sha1        |    1 -
 .../jetty-servlet-9.4.24.v20191120.jar.sha1        |    1 +
 .../jetty-servlets-9.4.19.v20190610.jar.sha1       |    1 -
 .../jetty-servlets-9.4.24.v20191120.jar.sha1       |    1 +
 solr/licenses/jetty-util-9.4.19.v20190610.jar.sha1 |    1 -
 solr/licenses/jetty-util-9.4.24.v20191120.jar.sha1 |    1 +
 .../jetty-webapp-9.4.19.v20190610.jar.sha1         |    1 -
 .../jetty-webapp-9.4.24.v20191120.jar.sha1         |    1 +
 solr/licenses/jetty-xml-9.4.19.v20190610.jar.sha1  |    1 -
 solr/licenses/jetty-xml-9.4.24.v20191120.jar.sha1  |    1 +
 solr/licenses/junit4-ant-2.7.2.jar.sha1            |    1 -
 solr/licenses/junit4-ant-2.7.5.jar.sha1            |    1 +
 ...CENSE-ASL.txt => log4j-1.2-api-LICENSE-ASL.txt} |    0
 .../{log4j-NOTICE.txt => log4j-1.2-api-NOTICE.txt} |    0
 solr/licenses/metrics-core-4.0.5.jar.sha1          |    1 -
 solr/licenses/metrics-core-4.1.2.jar.sha1          |    1 +
 solr/licenses/metrics-graphite-4.0.5.jar.sha1      |    1 -
 solr/licenses/metrics-graphite-4.1.2.jar.sha1      |    1 +
 solr/licenses/metrics-jetty9-4.0.5.jar.sha1        |    1 -
 solr/licenses/metrics-jetty9-4.1.2.jar.sha1        |    1 +
 ...ENSE-ASL.txt => metrics-jetty9-LICENSE-ASL.txt} |    0
 ...-jetty-NOTICE.txt => metrics-jetty9-NOTICE.txt} |    0
 solr/licenses/metrics-jmx-4.0.5.jar.sha1           |    1 -
 solr/licenses/metrics-jmx-4.1.2.jar.sha1           |    1 +
 solr/licenses/metrics-jvm-4.0.5.jar.sha1           |    1 -
 solr/licenses/metrics-jvm-4.1.2.jar.sha1           |    1 +
 .../randomizedtesting-runner-2.7.2.jar.sha1        |    1 -
 .../randomizedtesting-runner-2.7.5.jar.sha1        |    1 +
 solr/licenses/start.jar.sha1                       |    2 +-
 solr/server/etc/jetty.xml                          |   41 +-
 .../solr/configsets/_default/conf/params.json      |   20 -
 .../solr/configsets/_default/conf/solrconfig.xml   |  152 +-
 solr/server/solr/zoo.cfg                           |    3 +
 .../adding-custom-plugins-in-solrcloud-mode.adoc   |    6 +
 solr/solr-ref-guide/src/aliases.adoc               |    2 +-
 solr/solr-ref-guide/src/analytics.adoc             |    7 +-
 .../authentication-and-authorization-plugins.adoc  |    2 +-
 .../solr-ref-guide/src/aws-solrcloud-tutorial.adoc |    2 +-
 .../src/collapse-and-expand-results.adoc           |    2 +-
 .../src/common-query-parameters.adoc               |    5 +-
 solr/solr-ref-guide/src/config-sets.adoc           |   29 +-
 solr/solr-ref-guide/src/configsets-api.adoc        |    1 +
 .../src/configuring-solrconfig-xml.adoc            |   16 +-
 .../src/detecting-languages-during-indexing.adoc   |    2 +-
 solr/solr-ref-guide/src/distributed-requests.adoc  |    2 +-
 solr/solr-ref-guide/src/filter-descriptions.adoc   |    8 +-
 solr/solr-ref-guide/src/highlighting.adoc          |    2 +-
 solr/solr-ref-guide/src/index.adoc                 |   21 +-
 solr/solr-ref-guide/src/json-facet-api.adoc        |    2 +-
 .../src/json-faceting-domain-changes.adoc          |    2 +-
 solr/solr-ref-guide/src/language-analysis.adoc     |   32 +-
 solr/solr-ref-guide/src/learning-to-rank.adoc      |    2 +-
 solr/solr-ref-guide/src/libs.adoc                  |   78 +
 .../src/major-changes-in-solr-7.adoc               |    2 +-
 .../src/meta-docs/asciidoc-syntax.adoc             |    2 +-
 solr/solr-ref-guide/src/other-parsers.adoc         |   26 +-
 .../src/performance-statistics-reference.adoc      |   22 +-
 .../src/requestdispatcher-in-solrconfig.adoc       |    2 +-
 .../src/resource-and-plugin-loading.adoc           |   86 -
 solr/solr-ref-guide/src/resource-loading.adoc      |   44 +
 .../src/shards-and-indexing-data-in-solrcloud.adoc |    2 +-
 solr/solr-ref-guide/src/solr-plugins.adoc          |   40 +-
 .../solrcloud-autoscaling-policy-preferences.adoc  |    2 +-
 solr/solr-ref-guide/src/spatial-search.adoc        |    2 +-
 .../src/stream-decorator-reference.adoc            |    4 +-
 .../src/stream-source-reference.adoc               |    1 +
 solr/solr-ref-guide/src/streaming-expressions.adoc |   10 +-
 .../src/the-dismax-query-parser.adoc               |   53 +-
 .../src/the-extended-dismax-query-parser.adoc      |   22 +-
 .../src/the-well-configured-solr-instance.adoc     |   15 +-
 solr/solr-ref-guide/src/tokenizers.adoc            |    2 +-
 .../src/update-request-processors.adoc             |    2 +-
 solr/solr-ref-guide/src/using-jmx-with-solr.adoc   |    2 +-
 solr/solr-ref-guide/src/using-solrj.adoc           |   14 +
 .../src/velocity-response-writer.adoc              |   37 +-
 .../solr-ref-guide/tools/CheckLinksAndAnchors.java |    2 +-
 .../apache/solr/client/solrj/cloud/ShardTerms.java |  256 +++
 .../client/solrj/impl/BaseCloudSolrClient.java     |   82 +-
 .../impl/ConcurrentUpdateHttp2SolrClient.java      |   76 +-
 .../solrj/impl/ConcurrentUpdateSolrClient.java     |   80 +-
 .../client/solrj/io/eval/PrecisionEvaluator.java   |   13 +-
 .../client/solrj/io/stream/CloudSolrStream.java    |    3 +-
 .../client/solrj/io/stream/DeepRandomStream.java   |    6 +-
 .../solr/client/solrj/io/stream/Facet2DStream.java |    9 +-
 .../solr/client/solrj/io/stream/FacetStream.java   |   36 +-
 .../client/solrj/io/stream/RandomFacadeStream.java |   19 +-
 .../solr/client/solrj/io/stream/RandomStream.java  |   36 +-
 .../solr/client/solrj/io/stream/StatsStream.java   |   13 +-
 .../solr/client/solrj/io/stream/StreamContext.java |   20 +
 .../client/solrj/io/stream/TimeSeriesStream.java   |   37 +-
 .../solr/client/solrj/io/stream/TupleStream.java   |   50 +-
 .../solr/client/solrj/io/stream/UpdateStream.java  |    6 +-
 .../solr/client/solrj/request/UpdateRequest.java   |    1 +
 .../solr/client/solrj/response/QueryResponse.java  |    8 +-
 .../routing/NodePreferenceRulesComparator.java     |    2 +-
 .../RequestReplicaListTransformerGenerator.java    |   40 +-
 .../java/org/apache/solr/common/SolrDocument.java  |   10 +-
 .../org/apache/solr/common/SolrInputField.java     |   68 +-
 .../common/annotation/SolrSingleThreaded.java}     |   23 +-
 .../solr/common/annotation/SolrThreadSafe.java}    |   24 +-
 .../org/apache/solr/common/cloud/ClusterState.java |   10 +-
 .../solr/common/cloud/CompositeIdRouter.java       |   56 +-
 .../apache/solr/common/cloud/DistributedQueue.java |   42 -
 .../java/org/apache/solr/common/cloud/Replica.java |   14 +-
 .../java/org/apache/solr/common/cloud/Slice.java   |   17 +-
 .../apache/solr/common/cloud/ZkStateReader.java    |    5 +
 .../apache/solr/common/params/CommonParams.java    |    1 +
 .../org/apache/solr/common/util/JavaBinCodec.java  |    2 +-
 .../src/test-files/solrj/sampleDebugResponse.xml   |  206 +++
 .../src/test-files/solrj/solr/multicore/zoo.cfg    |    2 +
 .../solr/client/solrj/SolrExceptionTest.java       |    3 +-
 .../client/solrj/cloud/autoscaling/TestPolicy.java |   43 +-
 .../solrj/embedded/SolrExampleJettyTest.java       |   19 +
 .../solrj/impl/CloudHttp2SolrClientTest.java       |   78 +-
 .../client/solrj/impl/CloudSolrClientTest.java     |   79 +-
 .../client/solrj/io/stream/MathExpressionTest.java |   26 +
 .../solrj/io/stream/StreamExpressionTest.java      |   55 +-
 .../io/stream/StreamExpressionToExpessionTest.java |   12 +-
 .../solr/client/solrj/io/stream/StreamingTest.java |   57 +-
 .../client/solrj/response/QueryResponseTest.java   |   27 +
 .../routing/NodePreferenceRulesComparatorTest.java |    8 +-
 .../solrj/routing/ReplicaListTransformerTest.java  |    3 +-
 ...RequestReplicaListTransformerGeneratorTest.java |    8 +-
 .../ShufflingReplicaListTransformerTest.java       |    2 +-
 .../apache/solr/BaseDistributedSearchTestCase.java |    6 +-
 .../src/java/org/apache/solr/SolrTestCaseJ4.java   |   19 +
 .../org/apache/solr/cloud/SolrCloudTestCase.java   |   24 +-
 .../org/apache/solr/util/SolrSecurityManager.java  |   14 +-
 .../src/java/org/apache/solr/util/TestHarness.java |    2 +-
 solr/webapp/web/css/angular/angular-csp.css        |   41 +
 solr/webapp/web/index.html                         |    3 +-
 solr/webapp/web/js/angular/app.js                  |    2 +-
 solr/webapp/web/js/angular/controllers/cloud.js    |    2 +-
 553 files changed, 14340 insertions(+), 4693 deletions(-)

diff --cc solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
index cb53d41,e514c5f..147b2616
--- a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
+++ b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java
@@@ -146,18 -149,22 +149,22 @@@ public abstract class RequestHandlerBas
  
    @Override
    public void initializeMetrics(SolrMetricsContext parentContext, String scope) {
 -    this.solrMetricsContext = parentContext.getChildContext(this);
 -    numErrors = solrMetricsContext.meter("errors", getCategory().toString(), scope);
 -    numServerErrors = solrMetricsContext.meter("serverErrors", getCategory().toString(), scope);
 -    numClientErrors = solrMetricsContext.meter("clientErrors", getCategory().toString(), scope);
 -    numTimeouts = solrMetricsContext.meter("timeouts", getCategory().toString(), scope);
 -    requests = solrMetricsContext.counter("requests", getCategory().toString(), scope);
 +    this.solrMetricsContext = parentContext.getChildContext(this, scope);
 +    numErrors = solrMetricsContext.meter("errors", getCategory().toString());
 +    numServerErrors = solrMetricsContext.meter("serverErrors", getCategory().toString());
 +    numClientErrors = solrMetricsContext.meter("clientErrors", getCategory().toString());
 +    numTimeouts = solrMetricsContext.meter("timeouts", getCategory().toString());
 +    requests = solrMetricsContext.counter("requests", getCategory().toString());
      MetricsMap metricsMap = new MetricsMap((detail, map) ->
          shardPurposes.forEach((k, v) -> map.put(k, v.getCount())));
 -    solrMetricsContext.gauge(metricsMap, true, "shardRequests", getCategory().toString(), scope);
 -    requestTimes = solrMetricsContext.timer("requestTimes", getCategory().toString(), scope);
 -    distribRequestTimes = solrMetricsContext.timer("requestTimes", getCategory().toString(), scope, "distrib");
 -    localRequestTimes = solrMetricsContext.timer("requestTimes", getCategory().toString(), scope, "local");
 -    totalTime = solrMetricsContext.counter("totalTime", getCategory().toString(), scope);
 -    distribTotalTime = solrMetricsContext.counter("totalTime", getCategory().toString(), scope, "distrib");
 -    localTotalTime = solrMetricsContext.counter("totalTime", getCategory().toString(), scope, "local");
 -    solrMetricsContext.gauge(() -> handlerStart, true, "handlerStart", getCategory().toString(), scope);
 +    solrMetricsContext.gauge(metricsMap, true, "shardRequests", getCategory().toString());
 +    requestTimes = solrMetricsContext.timer("requestTimes", getCategory().toString());
++    distribRequestTimes = solrMetricsContext.timer("distrib.requestTimes", getCategory().toString());
++    localRequestTimes = solrMetricsContext.timer("local.requestTimes", getCategory().toString());
 +    totalTime = solrMetricsContext.counter("totalTime", getCategory().toString());
++    distribTotalTime = solrMetricsContext.counter("distrib.totalTime", getCategory().toString());
++    localTotalTime = solrMetricsContext.counter("local.totalTime", getCategory().toString());
 +    solrMetricsContext.gauge(() -> handlerStart, true, "handlerStart", getCategory().toString());
    }
  
    public static SolrParams getSolrParamsFromNamedList(NamedList args, String key) {