You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2021/03/10 10:03:19 UTC

[lucene] 08/10: SOLR-13350: Updating to master

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

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

commit 007d88290e625d0388802a8f1e8f18d69173de4f
Merge: 590d35c a003f64
Author: Ishan Chattopadhyaya <is...@apache.org>
AuthorDate: Sat Aug 15 08:03:23 2020 +0530

    SOLR-13350: Updating to master

 .asf.yaml                                          |     8 +-
 .gitattributes                                     |     3 +
 .github/workflows/gradle-precommit.yml             |     2 +
 .github/workflows/gradle-wrapper-validation.yml    |    11 -
 .gitignore                                         |     8 +-
 README.md                                          |     2 +-
 build.gradle                                       |    50 +-
 .../apache/lucene/gradle/WrapperDownloader.java    |   129 +
 dev-tools/doap/lucene.rdf                          |    35 +
 dev-tools/doap/solr.rdf                            |    35 +
 dev-tools/maven/pom.xml.template                   |     4 +-
 dev-tools/scripts/README.md                        |    12 -
 dev-tools/scripts/SOLR-2452.patch.hack.pl          |     4 +-
 dev-tools/scripts/addBackcompatIndexes.py          |     5 -
 dev-tools/scripts/buildAndPushRelease.py           |     4 +-
 dev-tools/scripts/createPatch.py                   |   143 -
 dev-tools/scripts/create_line_file_docs.py         |   247 +
 dev-tools/scripts/jenkins.build.ref.guide.sh       |    73 -
 dev-tools/scripts/poll-mirrors.py                  |    20 +-
 dev-tools/scripts/prep-solr-ref-guide-rc.sh        |    89 -
 dev-tools/scripts/publish-solr-ref-guide.sh        |    58 -
 dev-tools/scripts/releaseWizard.py                 |   156 +-
 dev-tools/scripts/releaseWizard.yaml               |   401 +-
 dev-tools/scripts/reproduceJenkinsFailures.py      |     5 +-
 dev-tools/scripts/smokeTestRelease.py              |     8 +-
 dev-tools/scripts/svnBranchToGit.py                |   797 --
 gradle/defaults-idea.gradle                        |    29 -
 gradle/defaults-java.gradle                        |    25 +-
 gradle/defaults-javadoc.gradle                     |    77 -
 gradle/documentation/changes-to-html.gradle        |    94 +
 gradle/documentation/documentation.gradle          |    96 +
 gradle/documentation/markdown.gradle               |   204 +
 gradle/documentation/render-javadoc.gradle         |   324 +
 gradle/generate-defaults.gradle                    |     2 +-
 gradle/generation/snowball.gradle                  |     2 +-
 gradle/hacks/findbugs.gradle                       |    46 +
 gradle/help.gradle                                 |     4 +-
 gradle/ide/intellij-idea.gradle                    |    53 +
 gradle/jar-manifest.gradle                         |    89 +
 gradle/testing/alternative-jdk-support.gradle      |    72 +
 gradle/testing/randomization.gradle                |     9 -
 gradle/testing/runtime-jvm-support.gradle          |    52 -
 gradle/validation/check-broken-links.gradle        |    71 +
 gradle/validation/check-environment.gradle         |     2 +-
 gradle/validation/forbidden-apis/defaults.all.txt  |     2 +-
 gradle/validation/git-status.gradle                |    39 +-
 gradle/validation/jar-checks.gradle                |     6 +-
 gradle/validation/missing-docs-check.gradle        |     4 +-
 gradle/validation/precommit.gradle                 |     8 +-
 gradle/validation/rat-sources.gradle               |     1 +
 gradle/validation/validate-log-calls.gradle        |   248 +
 gradle/wrapper/gradle-wrapper.jar                  |   Bin 55616 -> 58910 bytes
 gradle/wrapper/gradle-wrapper.jar.sha256           |     1 +
 gradle/wrapper/gradle-wrapper.jar.version          |     1 +
 gradle/wrapper/gradle-wrapper.properties           |     2 +-
 gradlew                                            |    15 +-
 gradlew.bat                                        |     9 +-
 help/ant.txt                                       |     6 +-
 help/jvms.txt                                      |    18 +
 help/tests.txt                                     |    15 -
 help/validateLogCalls.txt                          |    74 +
 lucene/BUILD.md                                    |    92 +
 lucene/BUILD.txt                                   |    90 -
 lucene/CHANGES.txt                                 |   394 +-
 lucene/JRE_VERSION_MIGRATION.md                    |    39 +
 lucene/JRE_VERSION_MIGRATION.txt                   |    39 -
 lucene/MIGRATE.md                                  |   295 +
 lucene/MIGRATE.txt                                 |   251 -
 lucene/README.md                                   |    23 +
 lucene/README.txt                                  |    23 -
 lucene/SYSTEM_REQUIREMENTS.md                      |    18 +
 lucene/SYSTEM_REQUIREMENTS.txt                     |    18 -
 lucene/analysis/common/build.gradle                |     2 +
 .../ar/ArabicNormalizationFilterFactory.java       |     5 +
 .../analysis/ar/ArabicStemFilterFactory.java       |     5 +
 .../analysis/bg/BulgarianStemFilterFactory.java    |     5 +
 .../bn/BengaliNormalizationFilterFactory.java      |     5 +
 .../analysis/bn/BengaliStemFilterFactory.java      |     5 +
 .../boost/DelimitedBoostTokenFilterFactory.java    |     5 +
 .../analysis/br/BrazilianStemFilterFactory.java    |     5 +
 .../charfilter/HTMLStripCharFilterFactory.java     |     5 +
 .../charfilter/MappingCharFilterFactory.java       |     5 +
 .../analysis/cjk/CJKBigramFilterFactory.java       |     5 +
 .../lucene/analysis/cjk/CJKWidthFilterFactory.java |     5 +
 .../ckb/SoraniNormalizationFilterFactory.java      |     5 +
 .../analysis/ckb/SoraniStemFilterFactory.java      |     5 +
 .../commongrams/CommonGramsFilterFactory.java      |     5 +
 .../commongrams/CommonGramsQueryFilterFactory.java |     5 +
 .../DictionaryCompoundWordTokenFilterFactory.java  |     5 +
 .../HyphenationCompoundWordTokenFilterFactory.java |     5 +
 .../compound/hyphenation/HyphenationTree.java      |     2 +-
 .../analysis/core/DecimalDigitFilterFactory.java   |     5 +
 .../analysis/core/FlattenGraphFilterFactory.java   |     5 +
 .../analysis/core/KeywordTokenizerFactory.java     |     5 +
 .../analysis/core/LetterTokenizerFactory.java      |     5 +
 .../analysis/core/LowerCaseFilterFactory.java      |     5 +
 .../lucene/analysis/core/StopFilterFactory.java    |     5 +
 .../analysis/core/TypeTokenFilterFactory.java      |     5 +
 .../analysis/core/UpperCaseFilterFactory.java      |     5 +
 .../analysis/core/WhitespaceTokenizerFactory.java  |     5 +
 .../lucene/analysis/cz/CzechStemFilterFactory.java |     5 +
 .../analysis/de/GermanLightStemFilterFactory.java  |     5 +
 .../de/GermanMinimalStemFilterFactory.java         |     5 +
 .../de/GermanNormalizationFilterFactory.java       |     5 +
 .../analysis/de/GermanStemFilterFactory.java       |     5 +
 .../analysis/el/GreekLowerCaseFilterFactory.java   |     5 +
 .../lucene/analysis/el/GreekStemFilterFactory.java |     5 +
 .../en/EnglishMinimalStemFilterFactory.java        |     5 +
 .../en/EnglishPossessiveFilterFactory.java         |     5 +
 .../lucene/analysis/en/KStemFilterFactory.java     |     5 +
 .../analysis/en/PorterStemFilterFactory.java       |     5 +
 .../analysis/es/SpanishLightStemFilterFactory.java |     5 +
 .../es/SpanishMinimalStemFilterFactory.java        |     5 +
 .../analysis/fa/PersianCharFilterFactory.java      |     5 +
 .../fa/PersianNormalizationFilterFactory.java      |     5 +
 .../analysis/fi/FinnishLightStemFilterFactory.java |     5 +
 .../analysis/fr/FrenchLightStemFilterFactory.java  |     5 +
 .../fr/FrenchMinimalStemFilterFactory.java         |     5 +
 .../analysis/ga/IrishLowerCaseFilterFactory.java   |     5 +
 .../gl/GalicianMinimalStemFilterFactory.java       |     5 +
 .../analysis/gl/GalicianStemFilterFactory.java     |     5 +
 .../hi/HindiNormalizationFilterFactory.java        |     5 +
 .../lucene/analysis/hi/HindiStemFilterFactory.java |     5 +
 .../hu/HungarianLightStemFilterFactory.java        |     5 +
 .../hunspell/HunspellStemFilterFactory.java        |     5 +
 .../analysis/id/IndonesianStemFilterFactory.java   |     5 +
 .../in/IndicNormalizationFilterFactory.java        |     5 +
 .../analysis/it/ItalianLightStemFilterFactory.java |     5 +
 .../analysis/lv/LatvianStemFilterFactory.java      |     5 +
 .../analysis/minhash/MinHashFilterFactory.java     |     5 +
 .../miscellaneous/ASCIIFoldingFilterFactory.java   |     5 +
 .../miscellaneous/CapitalizationFilterFactory.java |     5 +
 .../miscellaneous/CodepointCountFilterFactory.java |     5 +
 .../ConcatenateGraphFilterFactory.java             |     9 +-
 .../ConditionalTokenFilterFactory.java             |     5 +
 .../miscellaneous/DateRecognizerFilterFactory.java |     5 +
 .../DelimitedTermFrequencyTokenFilterFactory.java  |     5 +
 .../miscellaneous/FingerprintFilterFactory.java    |     5 +
 .../FixBrokenOffsetsFilterFactory.java             |     6 +
 .../HyphenatedWordsFilterFactory.java              |     7 +-
 .../miscellaneous/KeepWordFilterFactory.java       |     5 +
 .../miscellaneous/KeywordMarkerFilterFactory.java  |     5 +
 .../miscellaneous/KeywordRepeatFilterFactory.java  |     5 +
 .../miscellaneous/LengthFilterFactory.java         |     5 +
 .../LimitTokenCountFilterFactory.java              |     5 +
 .../LimitTokenOffsetFilterFactory.java             |     5 +
 .../LimitTokenPositionFilterFactory.java           |     5 +
 .../miscellaneous/ProtectedTermFilterFactory.java  |     5 +
 .../RemoveDuplicatesTokenFilterFactory.java        |     5 +
 .../ScandinavianFoldingFilterFactory.java          |     5 +
 .../ScandinavianNormalizationFilterFactory.java    |     5 +
 .../StemmerOverrideFilterFactory.java              |     5 +
 .../analysis/miscellaneous/TrimFilterFactory.java  |     5 +
 .../miscellaneous/TruncateTokenFilterFactory.java  |     5 +
 .../miscellaneous/TypeAsSynonymFilterFactory.java  |     5 +
 .../miscellaneous/WordDelimiterFilterFactory.java  |    24 +-
 .../WordDelimiterGraphFilterFactory.java           |     5 +
 .../analysis/ngram/EdgeNGramFilterFactory.java     |     5 +
 .../analysis/ngram/EdgeNGramTokenizerFactory.java  |     5 +
 .../lucene/analysis/ngram/NGramFilterFactory.java  |     8 +-
 .../analysis/ngram/NGramTokenizerFactory.java      |     5 +
 .../no/NorwegianLightStemFilterFactory.java        |     5 +
 .../no/NorwegianMinimalStemFilterFactory.java      |     5 +
 .../path/PathHierarchyTokenizerFactory.java        |     7 +-
 .../pattern/PatternCaptureGroupFilterFactory.java  |     6 +
 .../pattern/PatternReplaceCharFilterFactory.java   |     5 +
 .../pattern/PatternReplaceFilterFactory.java       |     5 +
 .../analysis/pattern/PatternTokenizerFactory.java  |     5 +
 .../SimplePatternSplitTokenizerFactory.java        |     5 +
 .../pattern/SimplePatternTokenizerFactory.java     |     5 +
 .../DelimitedPayloadTokenFilterFactory.java        |     5 +
 .../payloads/NumericPayloadTokenFilterFactory.java |     5 +
 .../TokenOffsetPayloadTokenFilterFactory.java      |     5 +
 .../payloads/TypeAsPayloadTokenFilterFactory.java  |     5 +
 .../pt/PortugueseLightStemFilterFactory.java       |     5 +
 .../pt/PortugueseMinimalStemFilterFactory.java     |     5 +
 .../analysis/pt/PortugueseStemFilterFactory.java   |     5 +
 .../reverse/ReverseStringFilterFactory.java        |     5 +
 .../analysis/ru/RussianLightStemFilterFactory.java |     5 +
 .../shingle/FixedShingleFilterFactory.java         |     5 +
 .../analysis/shingle/ShingleFilterFactory.java     |     5 +
 .../snowball/SnowballPorterFilterFactory.java      |     5 +
 .../sr/SerbianNormalizationFilterFactory.java      |     7 +-
 .../analysis/standard/ClassicFilterFactory.java    |     5 +
 .../analysis/standard/ClassicTokenizerFactory.java |     5 +
 .../standard/StandardTokenizerFactory.java         |     5 +
 .../standard/UAX29URLEmailTokenizerFactory.java    |     5 +
 .../analysis/sv/SwedishLightStemFilterFactory.java |     5 +
 .../analysis/synonym/SynonymFilterFactory.java     |     5 +
 .../synonym/SynonymGraphFilterFactory.java         |     5 +
 .../lucene/analysis/th/ThaiTokenizerFactory.java   |     5 +
 .../analysis/tr/ApostropheFilterFactory.java       |     5 +
 .../analysis/tr/TurkishLowerCaseFilterFactory.java |     5 +
 .../analysis/util/AbstractAnalysisFactory.java     |    50 +-
 .../lucene/analysis/util/AnalysisSPILoader.java    |    37 +-
 .../lucene/analysis/util/CharFilterFactory.java    |     7 +-
 .../lucene/analysis/util/ElisionFilterFactory.java |     5 +
 .../lucene/analysis/util/TokenFilterFactory.java   |     7 +-
 .../lucene/analysis/util/TokenizerFactory.java     |     7 +-
 .../wikipedia/WikipediaTokenizerFactory.java       |     5 +
 .../lucene/analysis/snowball/french_stop.txt       |    20 +-
 .../lucene/analysis/core/TestBugInSomething.java   |     1 +
 .../apache/lucene/analysis/core/TestFactories.java |     4 +-
 .../lucene/analysis/core/TestRandomChains.java     |     7 +-
 .../lucene/analysis/custom/TestCustomAnalyzer.java |    13 +-
 .../lucene/analysis/minhash/MinHashFilterTest.java |    13 +-
 .../miscellaneous/TestConcatenateGraphFilter.java  |     3 +
 .../TestConcatenateGraphFilterFactory.java         |     3 +-
 .../miscellaneous/TestFixBrokenOffsetsFilter.java  |     1 +
 .../TestLimitTokenPositionFilter.java              |     1 +
 .../TestRemoveDuplicatesTokenFilter.java           |     4 +-
 .../miscellaneous/TestWordDelimiterFilter.java     |    26 +-
 .../analysis/ngram/EdgeNGramTokenizerTest.java     |     2 +-
 .../lucene/analysis/ngram/NGramTokenizerTest.java  |     2 +-
 .../lucene/analysis/ngram/TestNGramFilters.java    |    28 +
 .../analysis/synonym/TestSolrSynonymParser.java    |     1 +
 .../analysis/synonym/TestSynonymFilterFactory.java |     1 +
 .../analysis/synonym/TestSynonymMapFilter.java     |     1 +
 .../analysis/synonym/TestWordnetSynonymParser.java |     3 +-
 .../analysis/util/TestAbstractAnalysisFactory.java |     6 +-
 .../util/TestFilesystemResourceLoader.java         |     5 +-
 lucene/analysis/icu/build.gradle                   |     2 +
 .../analysis/icu/ICUFoldingFilterFactory.java      |     5 +
 .../icu/ICUNormalizer2CharFilterFactory.java       |     5 +
 .../analysis/icu/ICUNormalizer2FilterFactory.java  |     5 +
 .../lucene/analysis/icu/ICUTransformFilter.java    |     1 +
 .../analysis/icu/ICUTransformFilterFactory.java    |     5 +
 .../icu/segmentation/ICUTokenizerFactory.java      |     5 +
 lucene/analysis/kuromoji/build.gradle              |     2 +
 .../analysis/ja/JapaneseBaseFormFilterFactory.java |     5 +
 .../ja/JapaneseIterationMarkCharFilterFactory.java |     5 +
 .../ja/JapaneseKatakanaStemFilterFactory.java      |     5 +
 .../analysis/ja/JapaneseNumberFilterFactory.java   |     5 +
 .../ja/JapanesePartOfSpeechStopFilterFactory.java  |     5 +
 .../ja/JapaneseReadingFormFilterFactory.java       |     5 +
 .../analysis/ja/JapaneseTokenizerFactory.java      |     5 +
 .../lucene/analysis/ja/dict/ConnectionCosts.java   |    26 +-
 .../analysis/ja/dict/TokenInfoDictionary.java      |     4 +-
 .../analysis/ja/util/BinaryDictionaryWriter.java   |     4 +-
 .../analysis/ja/util/ConnectionCostsWriter.java    |    21 +-
 .../lucene/analysis/ja/util/DictionaryBuilder.java |     7 +-
 .../apache/lucene/analysis/ja/TestFactories.java   |     4 +-
 .../lucene/analysis/ja/TestJapaneseTokenizer.java  |    14 +-
 lucene/analysis/morfologik/build.gradle            |     2 +
 .../morfologik/MorfologikFilterFactory.java        |     5 +
 lucene/analysis/nori/build.gradle                  |     2 +
 .../analysis/ko/KoreanNumberFilterFactory.java     |     5 +
 .../ko/KoreanPartOfSpeechStopFilterFactory.java    |     5 +
 .../ko/KoreanReadingFormFilterFactory.java         |     5 +
 .../apache/lucene/analysis/ko/KoreanTokenizer.java |    55 +-
 .../lucene/analysis/ko/KoreanTokenizerFactory.java |     5 +
 .../lucene/analysis/ko/dict/BinaryDictionary.java  |    15 +-
 .../lucene/analysis/ko/dict/ConnectionCosts.java   |    16 +-
 .../analysis/ko/dict/TokenInfoDictionary.java      |     6 +-
 .../lucene/analysis/ko/dict/UnknownDictionary.java |     9 +
 .../analysis/ko/util/BinaryDictionaryWriter.java   |     4 +-
 .../analysis/ko/util/ConnectionCostsWriter.java    |    21 +-
 .../lucene/analysis/ko/TestKoreanTokenizer.java    |    26 +
 lucene/analysis/opennlp/build.gradle               |     2 +
 .../opennlp/OpenNLPChunkerFilterFactory.java       |     5 +
 .../opennlp/OpenNLPLemmatizerFilterFactory.java    |     5 +
 .../analysis/opennlp/OpenNLPPOSFilterFactory.java  |     5 +
 .../analysis/opennlp/OpenNLPTokenizerFactory.java  |     5 +
 lucene/analysis/phonetic/build.gradle              |     2 +
 .../phonetic/BeiderMorseFilterFactory.java         |     5 +
 .../DaitchMokotoffSoundexFilterFactory.java        |     5 +
 .../phonetic/DoubleMetaphoneFilterFactory.java     |     5 +
 .../analysis/phonetic/PhoneticFilterFactory.java   |     5 +
 lucene/analysis/smartcn/build.gradle               |     2 +
 .../cn/smart/HMMChineseTokenizerFactory.java       |     5 +
 lucene/analysis/stempel/build.gradle               |     2 +
 .../stempel/StempelPolishStemFilterFactory.java    |     5 +
 lucene/backward-codecs/build.gradle                |     2 +
 .../codecs/lucene50/Lucene50PostingsFormat.java    |     9 +-
 .../codecs/lucene60/Lucene60PointsFormat.java      |   110 +
 .../codecs/lucene60/Lucene60PointsReader.java      |   146 +
 .../org/apache/lucene/codecs/lucene60/package.html |    25 +
 .../codecs/lucene70/Lucene70SegmentInfoFormat.java |   281 +
 .../lucene/codecs/lucene70/package-info.java       |    22 +
 .../lucene/codecs/lucene84/Lucene84Codec.java      |   178 +
 .../org/apache/lucene/codecs/lucene84/package.html |    25 +
 .../services/org.apache.lucene.codecs.Codec        |     1 +
 .../codecs/lucene50/TestBlockPostingsFormat.java   |   205 -
 .../codecs/lucene60/Lucene60PointsWriter.java      |   267 +
 .../codecs/lucene60/Lucene60RWPointsFormat.java    |    35 +
 .../codecs/lucene60/TestLucene60PointsFormat.java  |   354 +
 .../lucene70/Lucene70RWSegmentInfoFormat.java      |   204 +
 .../lucene70/TestLucene70SegmentInfoFormat.java    |    42 +
 .../lucene/codecs/lucene84/Lucene84RWCodec.java    |    39 +
 .../lucene/index/TestBackwardsCompatibility.java   |    50 +-
 .../org/apache/lucene/index/index.8.5.0-cfs.zip    |   Bin 0 -> 15909 bytes
 .../org/apache/lucene/index/index.8.5.0-nocfs.zip  |   Bin 0 -> 15901 bytes
 .../org/apache/lucene/index/index.8.5.1-cfs.zip    |   Bin 0 -> 15880 bytes
 .../org/apache/lucene/index/index.8.5.1-nocfs.zip  |   Bin 0 -> 15872 bytes
 .../org/apache/lucene/index/index.8.5.2-cfs.zip    |   Bin 0 -> 15897 bytes
 .../org/apache/lucene/index/index.8.5.2-nocfs.zip  |   Bin 0 -> 15902 bytes
 .../org/apache/lucene/index/index.8.6.0-cfs.zip    |   Bin 0 -> 16442 bytes
 .../org/apache/lucene/index/index.8.6.0-nocfs.zip  |   Bin 0 -> 16428 bytes
 .../test/org/apache/lucene/index/sorted.8.5.0.zip  |   Bin 0 -> 166476 bytes
 .../test/org/apache/lucene/index/sorted.8.5.1.zip  |   Bin 0 -> 394412 bytes
 .../test/org/apache/lucene/index/sorted.8.5.2.zip  |   Bin 0 -> 80768 bytes
 .../test/org/apache/lucene/index/sorted.8.6.0.zip  |   Bin 0 -> 140450 bytes
 .../apache/lucene/index/unsupported.7.7.3-cfs.zip  |   Bin 0 -> 15646 bytes
 .../lucene/index/unsupported.7.7.3-nocfs.zip       |   Bin 0 -> 15643 bytes
 .../lucene/index/unsupported.sorted.7.7.3.zip      |   Bin 0 -> 86356 bytes
 lucene/benchmark/build.gradle                      |   123 +-
 lucene/benchmark/scripts/collation.bm2jira.pl      |    22 +-
 .../benchmark/byTask/tasks/CreateIndexTask.java    |     4 +-
 .../benchmark/byTask/TestPerfTasksLogic.java       |     2 +-
 lucene/build.gradle                                |     2 +
 lucene/build.xml                                   |    10 +-
 lucene/classification/build.gradle                 |     2 +
 .../document/DocumentClassificationTestBase.java   |     2 +-
 lucene/codecs/build.gradle                         |     2 +
 .../blockterms/VariableGapTermsIndexReader.java    |     2 +-
 .../blockterms/VariableGapTermsIndexWriter.java    |     2 +-
 .../blocktreeords/OrdsBlockTreeTermsWriter.java    |     2 +-
 .../codecs/blocktreeords/OrdsFieldReader.java      |     2 +-
 .../lucene/codecs/memory/FSTTermsReader.java       |     2 +-
 .../lucene/codecs/memory/FSTTermsWriter.java       |     2 +-
 .../simpletext/SimpleTextCompoundFormat.java       |    31 +-
 .../simpletext/SimpleTextSegmentInfoFormat.java    |   306 +-
 .../lucene/codecs/uniformsplit/FSTDictionary.java  |    36 +-
 .../lucene/codecs/uniformsplit/FieldMetadata.java  |    23 +-
 .../codecs/uniformsplit/IndexDictionary.java       |     3 +-
 .../uniformsplit/UniformSplitPostingsFormat.java   |    36 +-
 .../codecs/uniformsplit/UniformSplitTerms.java     |     9 -
 .../uniformsplit/UniformSplitTermsReader.java      |    81 +-
 .../uniformsplit/UniformSplitTermsWriter.java      |    17 +-
 .../sharedterms/STUniformSplitPostingsFormat.java  |    23 +-
 .../sharedterms/STUniformSplitTerms.java           |     3 +-
 .../sharedterms/STUniformSplitTermsReader.java     |    29 +-
 .../sharedterms/UnionFieldMetadataBuilder.java     |    14 +-
 .../simpletext/TestSimpleTextCompoundFormat.java   |     5 +
 .../codecs/uniformsplit/TestFSTDictionary.java     |     3 +-
 .../TestUniformSplitPostingFormat.java             |    27 +-
 .../sharedterms/STBlockReaderTest.java             |   360 -
 .../sharedterms/TestSTBlockReader.java             |   360 +
 .../TestSTUniformSplitPostingFormat.java           |    12 +-
 lucene/common-build.xml                            |    11 +-
 lucene/core/build.gradle                           |     3 +-
 .../src/java/org/apache/lucene/codecs/Codec.java   |     2 +-
 .../java/org/apache/lucene/codecs/CodecUtil.java   |    41 +-
 .../apache/lucene/codecs/CompoundDirectory.java    |    83 +
 .../org/apache/lucene/codecs/CompoundFormat.java   |     4 +-
 .../apache/lucene/codecs/DocValuesConsumer.java    |     2 +-
 .../lucene/codecs/MultiLevelSkipListReader.java    |     8 +-
 .../codecs/blocktree/BlockTreeTermsReader.java     |   227 +-
 .../codecs/blocktree/BlockTreeTermsWriter.java     |   134 +-
 .../lucene/codecs/blocktree/FieldReader.java       |    66 +-
 .../codecs/lucene50/Lucene50CompoundFormat.java    |     3 +-
 .../codecs/lucene50/Lucene50CompoundReader.java    |    49 +-
 .../codecs/lucene50/Lucene50FieldInfosFormat.java  |     1 -
 .../codecs/lucene60/Lucene60FieldInfosFormat.java  |     1 -
 .../codecs/lucene60/Lucene60PointsFormat.java      |   110 -
 .../codecs/lucene60/Lucene60PointsReader.java      |   166 -
 .../codecs/lucene60/Lucene60PointsWriter.java      |   263 -
 .../lucene/codecs/lucene60/package-info.java       |     2 +-
 .../codecs/lucene70/Lucene70SegmentInfoFormat.java |   439 -
 .../lucene/codecs/lucene70/package-info.java       |    22 -
 .../lucene/codecs/lucene84/Lucene84Codec.java      |   178 -
 .../codecs/lucene84/Lucene84PostingsFormat.java    |     9 +-
 .../lucene/codecs/lucene84/package-info.java       |   396 +-
 .../lucene/codecs/lucene86/Lucene86Codec.java      |   178 +
 .../codecs/lucene86/Lucene86PointsFormat.java      |    80 +
 .../codecs/lucene86/Lucene86PointsReader.java      |   152 +
 .../codecs/lucene86/Lucene86PointsWriter.java      |   265 +
 .../codecs/lucene86/Lucene86SegmentInfoFormat.java |   217 +
 .../lucene/codecs/lucene86/package-info.java       |   416 +
 .../codecs/perfield/PerFieldDocValuesFormat.java   |     3 +
 .../org/apache/lucene/document/LatLonShape.java    |    37 +-
 .../document/LatLonShapeBoundingBoxQuery.java      |   477 +-
 .../apache/lucene/document/LatLonShapeQuery.java   |   101 +-
 .../org/apache/lucene/document/ShapeField.java     |    34 +
 .../org/apache/lucene/document/ShapeQuery.java     |    15 +-
 .../lucene/document/XYPointDistanceComparator.java |    12 +-
 .../org/apache/lucene/document/XYShapeQuery.java   |   109 +-
 .../src/java/org/apache/lucene/geo/Circle2D.java   |   228 +-
 .../java/org/apache/lucene/geo/Component2D.java    |    89 +-
 .../java/org/apache/lucene/geo/ComponentTree.java  |   101 +-
 .../src/java/org/apache/lucene/geo/Line2D.java     |    84 +-
 .../src/java/org/apache/lucene/geo/Point2D.java    |    45 +-
 .../src/java/org/apache/lucene/geo/Polygon2D.java  |   180 +-
 .../src/java/org/apache/lucene/geo/Rectangle.java  |     7 +-
 .../java/org/apache/lucene/geo/Rectangle2D.java    |   492 +-
 .../java/org/apache/lucene/geo/Tessellator.java    |    30 +-
 .../java/org/apache/lucene/geo/XYRectangle.java    |    22 +-
 .../java/org/apache/lucene/geo/XYRectangle2D.java  |   240 -
 .../apache/lucene/index/BinaryDocValuesWriter.java |    29 +-
 .../org/apache/lucene/index/BufferedUpdates.java   |    35 +-
 .../apache/lucene/index/BufferedUpdatesStream.java |     5 +-
 .../org/apache/lucene/index/ByteSliceWriter.java   |     1 -
 .../java/org/apache/lucene/index/CheckIndex.java   |     7 +-
 .../lucene/index/ConcurrentMergeScheduler.java     |   103 +-
 .../apache/lucene/index/DefaultIndexingChain.java  |   284 +-
 .../org/apache/lucene/index/DirectoryReader.java   |    29 +-
 .../java/org/apache/lucene/index/DocConsumer.java  |     2 +-
 .../java/org/apache/lucene/index/DocValues.java    |     4 +-
 .../apache/lucene/index/DocValuesLeafReader.java   |    89 +
 .../org/apache/lucene/index/DocValuesWriter.java   |     8 +-
 .../org/apache/lucene/index/DocumentsWriter.java   |   242 +-
 .../lucene/index/DocumentsWriterDeleteQueue.java   |    87 +-
 .../lucene/index/DocumentsWriterFlushControl.java  |   473 +-
 .../lucene/index/DocumentsWriterPerThread.java     |   320 +-
 .../lucene/index/DocumentsWriterPerThreadPool.java |   290 +-
 .../lucene/index/DocumentsWriterStallControl.java  |     5 +-
 .../java/org/apache/lucene/index/FieldInfo.java    |    16 +-
 .../org/apache/lucene/index/FilterMergePolicy.java |     5 +
 .../lucene/index/FlushByRamOrCountsPolicy.java     |    26 +-
 .../java/org/apache/lucene/index/FlushPolicy.java  |    38 +-
 .../org/apache/lucene/index/FreqProxFields.java    |    19 +-
 .../apache/lucene/index/FreqProxTermsWriter.java   |     6 +-
 .../lucene/index/FreqProxTermsWriterPerField.java  |    57 +-
 .../apache/lucene/index/FrozenBufferedUpdates.java |   297 +-
 .../org/apache/lucene/index/IndexFileDeleter.java  |     4 +-
 .../java/org/apache/lucene/index/IndexSorter.java  |   448 +
 .../java/org/apache/lucene/index/IndexWriter.java  |  1059 +-
 .../org/apache/lucene/index/IndexWriterConfig.java |    67 +-
 .../apache/lucene/index/LiveIndexWriterConfig.java |    41 +-
 .../java/org/apache/lucene/index/MergePolicy.java  |   184 +-
 .../org/apache/lucene/index/MergeScheduler.java    |    42 +-
 .../java/org/apache/lucene/index/MergeTrigger.java |     7 +-
 .../org/apache/lucene/index/MultiDocValues.java    |     2 +-
 .../java/org/apache/lucene/index/MultiSorter.java  |   144 +-
 .../org/apache/lucene/index/NoMergePolicy.java     |     3 +
 .../org/apache/lucene/index/NoMergeScheduler.java  |     2 +-
 .../lucene/index/NumericDocValuesWriter.java       |    33 +-
 .../lucene/index/OneMergeWrappingMergePolicy.java  |     5 +
 .../apache/lucene/index/ParallelPostingsArray.java |    10 +-
 .../java/org/apache/lucene/index/ReaderPool.java   |     8 +-
 .../org/apache/lucene/index/ReadersAndUpdates.java |    76 +-
 .../org/apache/lucene/index/SegmentCommitInfo.java |    40 +-
 .../apache/lucene/index/SegmentCoreReaders.java    |     8 +-
 .../org/apache/lucene/index/SegmentDocValues.java  |     3 +-
 .../java/org/apache/lucene/index/SegmentInfos.java |   240 +-
 .../org/apache/lucene/index/SegmentMerger.java     |     5 +-
 .../org/apache/lucene/index/SegmentReadState.java  |    26 +-
 .../org/apache/lucene/index/SegmentReader.java     |    13 +-
 .../apache/lucene/index/SerialMergeScheduler.java  |     6 +-
 .../org/apache/lucene/index/SortFieldProvider.java |   118 +
 .../apache/lucene/index/SortedDocValuesWriter.java |    50 +-
 .../lucene/index/SortedNumericDocValuesWriter.java |    33 +-
 .../lucene/index/SortedSetDocValuesWriter.java     |    45 +-
 .../src/java/org/apache/lucene/index/Sorter.java   |   238 +-
 .../lucene/index/StandardDirectoryReader.java      |    25 +-
 .../apache/lucene/index/TermVectorsConsumer.java   |    10 +-
 .../lucene/index/TermVectorsConsumerPerField.java  |    58 +-
 .../java/org/apache/lucene/index/TermsHash.java    |    12 +-
 .../org/apache/lucene/index/TermsHashPerField.java |   243 +-
 .../org/apache/lucene/search/BooleanQuery.java     |    12 +-
 .../apache/lucene/search/ConstantScoreQuery.java   |     2 +-
 .../search/ControlledRealTimeReopenThread.java     |    18 +-
 .../lucene/search/DisjunctionMatchesIterator.java  |     3 +-
 .../lucene/search/DocValuesRewriteMethod.java      |     2 +-
 .../apache/lucene/search/DoubleValuesSource.java   |    36 +-
 .../org/apache/lucene/search/FieldComparator.java  |    16 +-
 .../apache/lucene/search/FieldValueHitQueue.java   |    29 +-
 .../lucene/search/FilteringFieldComparator.java    |    93 +
 .../search/FilteringLeafFieldComparator.java       |    39 +
 .../lucene/search/FilteringNumericComparator.java  |    52 +
 .../search/FilteringNumericLeafComparator.java     |   336 +
 .../lucene/search/FuzzyAutomatonBuilder.java       |    88 +
 .../java/org/apache/lucene/search/FuzzyQuery.java  |    64 +-
 .../org/apache/lucene/search/FuzzyTermsEnum.java   |   151 +-
 .../org/apache/lucene/search/IndexSearcher.java    |    76 +-
 .../org/apache/lucene/search/LeafCollector.java    |    12 +
 .../apache/lucene/search/MatchAllDocsQuery.java    |     2 +-
 .../org/apache/lucene/search/MultiCollector.java   |   111 +-
 .../org/apache/lucene/search/MultiTermQuery.java   |     6 +-
 .../search/MultiTermQueryConstantScoreWrapper.java |     3 -
 .../org/apache/lucene/search/QueryVisitor.java     |     5 +-
 .../lucene/search/QueueSizeBasedExecutor.java      |    60 +
 .../java/org/apache/lucene/search/RegexpQuery.java |    38 +-
 .../java/org/apache/lucene/search/ScoreMode.java   |    54 +-
 .../org/apache/lucene/search/SliceExecutor.java    |    80 +
 .../java/org/apache/lucene/search/SortField.java   |   139 +
 .../lucene/search/SortedNumericSortField.java      |   106 +
 .../apache/lucene/search/SortedSetSortField.java   |    69 +-
 .../org/apache/lucene/search/SynonymQuery.java     |     2 +-
 .../org/apache/lucene/search/TermInSetQuery.java   |    22 +-
 .../java/org/apache/lucene/search/TermQuery.java   |     3 -
 .../apache/lucene/search/TopFieldCollector.java    |    73 +-
 .../apache/lucene/search/TopScoreDocCollector.java |     4 +-
 .../search/UsageTrackingQueryCachingPolicy.java    |     5 +
 .../src/java/org/apache/lucene/search/Weight.java  |    18 +-
 .../org/apache/lucene/store/BufferedChecksum.java  |     4 +-
 .../apache/lucene/store/BufferedIndexInput.java    |   226 +-
 .../lucene/store/ByteBuffersIndexOutput.java       |    18 +-
 .../java/org/apache/lucene/store/FSDirectory.java  |    17 +-
 .../org/apache/lucene/store/LockStressTest.java    |     2 +-
 .../org/apache/lucene/store/NIOFSDirectory.java    |    47 +-
 .../org/apache/lucene/store/SimpleFSDirectory.java |   200 -
 .../org/apache/lucene/util/AttributeSource.java    |     2 +
 .../src/java/org/apache/lucene/util/BitUtil.java   |   128 +-
 .../org/apache/lucene/util/ClassLoaderUtils.java   |    48 +
 .../src/java/org/apache/lucene/util/IOUtils.java   |    10 +
 .../java/org/apache/lucene/util/IntBlockPool.java  |     2 +-
 .../org/apache/lucene/util/NamedSPILoader.java     |    29 +-
 .../org/apache/lucene/util/SPIClassIterator.java   |   168 -
 .../src/java/org/apache/lucene/util/Version.java   |    21 +
 .../lucene/util/automaton/ByteRunAutomaton.java    |     2 +-
 .../util/automaton/CharacterRunAutomaton.java      |     4 +-
 .../lucene/util/automaton/CompiledAutomaton.java   |     4 +-
 .../org/apache/lucene/util/automaton/RegExp.java   |   486 +-
 .../apache/lucene/util/automaton/RunAutomaton.java |    17 +-
 .../java/org/apache/lucene/util/bkd/BKDReader.java |   252 +-
 .../java/org/apache/lucene/util/bkd/BKDWriter.java |   514 +-
 .../org/apache/lucene/util/fst/BitTableUtil.java   |   172 +
 .../src/java/org/apache/lucene/util/fst/FST.java   |   400 +-
 .../java/org/apache/lucene/util/fst/FSTEnum.java   |    17 +-
 .../java/org/apache/lucene/util/fst/NodeHash.java  |     2 +-
 .../apache/lucene/util/fst/PositiveIntOutputs.java |     1 +
 .../src/java/org/apache/lucene/util/fst/Util.java  |    19 +-
 .../org/apache/lucene/util/fst/package-info.java   |    18 +-
 .../lucene/util/packed/Packed64SingleBlock.java    |     3 +
 lucene/core/src/java/overview.html                 |     2 +-
 .../services/org.apache.lucene.codecs.Codec        |     2 +-
 .../org.apache.lucene.index.SortFieldProvider      |    20 +
 .../apache/lucene/TestMergeSchedulerExternal.java  |    20 +-
 .../apache/lucene/analysis/TestCharArraySet.java   |     8 +-
 .../org/apache/lucene/codecs/TestCodecUtil.java    |    57 +-
 ...tLucene50StoredFieldsFormatHighCompression.java |    11 +-
 .../codecs/lucene60/TestLucene60PointsFormat.java  |   400 -
 .../lucene70/TestLucene70SegmentInfoFormat.java    |    35 -
 .../lucene/codecs/lucene80/TestIndexedDISI.java    |    46 +-
 .../codecs/lucene80/TestLucene80NormsFormat.java   |     4 +-
 .../lucene84/TestLucene84PostingsFormat.java       |   210 +-
 .../codecs/lucene86/TestLucene86PointsFormat.java  |   393 +
 .../lucene86/TestLucene86SegmentInfoFormat.java    |    37 +
 .../perfield/TestPerFieldDocValuesFormat.java      |    40 +-
 .../lucene/document/BaseLatLonShapeTestCase.java   |    45 +
 .../lucene/document/BaseShapeEncodingTestCase.java |   119 +-
 .../apache/lucene/document/BaseShapeTestCase.java  |    95 +
 .../lucene/document/BaseXYShapeTestCase.java       |     4 +-
 .../org/apache/lucene/document/TestDocument.java   |    12 +-
 .../document/TestLatLonLineShapeQueries.java       |    62 +-
 .../TestLatLonMultiPolygonShapeQueries.java        |    21 +-
 .../document/TestLatLonPointShapeQueries.java      |    14 +-
 .../document/TestLatLonPolygonShapeQueries.java    |    75 +-
 .../apache/lucene/document/TestLatLonShape.java    |   133 +-
 .../lucene/document/TestXYLineShapeQueries.java    |    30 +-
 .../lucene/document/TestXYPointShapeQueries.java   |    16 +-
 .../lucene/document/TestXYPolygonShapeQueries.java |    42 +-
 .../test/org/apache/lucene/geo/TestCircle2D.java   |    35 +-
 .../src/test/org/apache/lucene/geo/TestLine2D.java |    22 +-
 .../test/org/apache/lucene/geo/TestPoint2D.java    |    23 +-
 .../test/org/apache/lucene/geo/TestPolygon2D.java  |    38 +-
 .../org/apache/lucene/geo/TestRectangle2D.java     |   220 +-
 .../org/apache/lucene/geo/TestTessellator.java     |    34 +
 .../test/org/apache/lucene/geo/TestXYPoint.java    |     2 +-
 .../org/apache/lucene/geo/TestXYRectangle.java     |    53 +
 .../org/apache/lucene/geo/TestXYRectangle2D.java   |    91 -
 .../org/apache/lucene/index/TestAddIndexes.java    |     2 +-
 .../lucene/index/TestAllFilesDetectBitFlips.java   |   141 +
 .../lucene/index/TestAllFilesDetectTruncation.java |     4 +-
 .../apache/lucene/index/TestBufferedUpdates.java   |    57 +
 .../test/org/apache/lucene/index/TestCodecs.java   |     4 +-
 .../lucene/index/TestConcurrentMergeScheduler.java |   120 +-
 .../lucene/index/TestDemoParallelLeafReader.java   |     7 +-
 .../src/test/org/apache/lucene/index/TestDoc.java  |     8 +-
 .../apache/lucene/index/TestDocumentWriter.java    |     9 +-
 .../org/apache/lucene/index/TestFieldsReader.java  |     6 +-
 .../lucene/index/TestFlushByRamOrCountsPolicy.java |    90 +-
 .../apache/lucene/index/TestForTooMuchCloning.java |     5 +-
 .../apache/lucene/index/TestForceMergeForever.java |     4 +-
 .../apache/lucene/index/TestIndexFileDeleter.java  |     4 +-
 .../org/apache/lucene/index/TestIndexSorting.java  |     5 +-
 .../org/apache/lucene/index/TestIndexWriter.java   |   654 +-
 .../apache/lucene/index/TestIndexWriterConfig.java |     1 -
 .../apache/lucene/index/TestIndexWriterDelete.java |    10 +-
 .../lucene/index/TestIndexWriterExceptions.java    |     6 +-
 .../lucene/index/TestIndexWriterExceptions2.java   |     6 +-
 .../lucene/index/TestIndexWriterMaxDocs.java       |     2 +-
 .../lucene/index/TestIndexWriterMergePolicy.java   |   242 +-
 .../lucene/index/TestIndexWriterMerging.java       |     6 +-
 .../lucene/index/TestIndexWriterOnDiskFull.java    |     6 +-
 .../apache/lucene/index/TestIndexWriterReader.java |    15 +-
 .../index/TestIndexWriterThreadsToSegments.java    |     7 +-
 .../lucene/index/TestIndexWriterWithThreads.java   |     8 +-
 .../org/apache/lucene/index/TestMergePolicy.java   |   158 +
 .../lucene/index/TestNRTReaderWithThreads.java     |     4 +-
 .../apache/lucene/index/TestNoMergeScheduler.java  |     2 +-
 .../lucene/index/TestNumericDocValuesUpdates.java  |   155 +
 .../index/TestOneMergeWrappingMergePolicy.java     |     2 +-
 .../apache/lucene/index/TestPendingDeletes.java    |     6 +-
 .../lucene/index/TestPendingSoftDeletes.java       |     2 +-
 .../apache/lucene/index/TestPerSegmentDeletes.java |    10 +-
 .../org/apache/lucene/index/TestPointValues.java   |     4 +-
 .../org/apache/lucene/index/TestReaderPool.java    |    12 +-
 .../org/apache/lucene/index/TestSegmentInfos.java  |   104 +-
 .../org/apache/lucene/index/TestSegmentMerger.java |    12 +-
 .../org/apache/lucene/index/TestSegmentReader.java |     3 +-
 .../apache/lucene/index/TestSegmentTermDocs.java   |     7 +-
 .../index/TestSoftDeletesRetentionMergePolicy.java |    14 +-
 .../apache/lucene/index/TestTermsHashPerField.java |   209 +
 .../apache/lucene/index/TestTieredMergePolicy.java |     6 +-
 .../index/TestTragicIndexWriterDeadlock.java       |     8 +-
 .../apache/lucene/search/MultiCollectorTest.java   |   172 +
 .../apache/lucene/search/TermInSetQueryTest.java   |    42 +
 .../apache/lucene/search/TestAutomatonQuery.java   |     3 +-
 .../org/apache/lucene/search/TestBoolean2.java     |     8 +-
 .../apache/lucene/search/TestBooleanRewrites.java  |    18 +-
 .../search/TestControlledRealTimeReopenThread.java |     8 +-
 .../lucene/search/TestDoubleValuesSource.java      |    12 +-
 .../search/TestFieldSortOptimizationSkipping.java  |   294 +
 .../org/apache/lucene/search/TestFuzzyQuery.java   |   130 +-
 .../apache/lucene/search/TestIndexSearcher.java    |    94 +-
 .../apache/lucene/search/TestLRUQueryCache.java    |    17 +-
 .../apache/lucene/search/TestMatchesIterator.java  |    93 +-
 .../lucene/search/TestMultiTermConstantScore.java  |     3 +-
 .../org/apache/lucene/search/TestPointQueries.java |     8 +-
 .../org/apache/lucene/search/TestRegexpQuery.java  |    48 +-
 .../lucene/search/TestSameScoresWithThreads.java   |     1 +
 .../org/apache/lucene/search/TestSearchAfter.java  |     2 +-
 .../apache/lucene/search/TestSearcherManager.java  |     5 +-
 .../org/apache/lucene/search/TestTermQuery.java    |     7 +-
 .../apache/lucene/search/TestTopDocsCollector.java |    59 +-
 .../lucene/search/TestTopFieldCollector.java       |    58 +-
 .../TestUsageTrackingFilterCachingPolicy.java      |     9 +
 .../lucene/store/TestBufferedIndexInput.java       |   114 +-
 .../lucene/store/TestByteBuffersDataInput.java     |     2 +-
 .../lucene/store/TestByteBuffersDataOutput.java    |     8 +-
 .../org/apache/lucene/store/TestDirectory.java     |     5 +-
 .../lucene/store/TestFileSwitchDirectory.java      |     6 +-
 .../apache/lucene/store/TestNIOFSDirectory.java    |    35 +
 .../apache/lucene/store/TestSimpleFSDirectory.java |    85 -
 .../test/org/apache/lucene/util/TestBitUtil.java   |    87 -
 .../test/org/apache/lucene/util/TestCharsRef.java  |     2 +
 .../apache/lucene/util/TestClassLoaderUtils.java   |    38 +
 .../org/apache/lucene/util/TestOfflineSorter.java  |    26 +-
 .../org/apache/lucene/util/TestPagedBytes.java     |    14 +-
 .../apache/lucene/util/TestSPIClassIterator.java   |    38 -
 .../test/org/apache/lucene/util/TestVersion.java   |     1 +
 .../util/automaton/TestDeterminizeLexicon.java     |    11 +-
 .../apache/lucene/util/automaton/TestRegExp.java   |   184 +
 .../apache/lucene/util/bkd/Test2BBKDPoints.java    |    12 +-
 .../test/org/apache/lucene/util/bkd/TestBKD.java   |    92 +-
 .../test/org/apache/lucene/util/fst/Test2BFST.java |    16 +-
 .../apache/lucene/util/fst/TestBitTableUtil.java   |   138 +
 .../lucene/util/fst/TestFSTDirectAddressing.java   |    87 +-
 .../test/org/apache/lucene/util/fst/TestFSTs.java  |    26 +-
 .../apache/lucene/util/packed/TestPackedInts.java  |     4 +-
 lucene/default-nested-ivy-settings.xml             |     2 +-
 lucene/demo/build.gradle                           |     2 +
 .../lucene/demo/facet/DistanceFacetsExample.java   |     5 +-
 .../facet/ExpressionAggregationFacetsExample.java  |     6 +-
 lucene/expressions/build.gradle                    |     2 +
 .../expressions/CachingExpressionValueSource.java  |    75 +
 .../expressions/ExpressionFunctionValues.java      |    14 +-
 .../lucene/expressions/ExpressionValueSource.java  |    12 +-
 .../apache/lucene/expressions/SimpleBindings.java  |    97 +-
 .../lucene/expressions/TestDemoExpressions.java    |    37 +-
 .../lucene/expressions/TestExpressionRescorer.java |     6 +-
 .../expressions/TestExpressionSortField.java       |    21 +-
 .../lucene/expressions/TestExpressionSorts.java    |    20 +-
 .../expressions/TestExpressionValidation.java      |    14 +-
 .../expressions/TestExpressionValueSource.java     |   104 +-
 lucene/facet/build.gradle                          |     1 +
 .../org/apache/lucene/facet/DrillSideways.java     |     3 +-
 .../java/org/apache/lucene/facet/FacetsConfig.java |    11 +-
 .../facet/taxonomy/DocValuesOrdinalsReader.java    |    15 +-
 .../lucene/facet/taxonomy/TaxonomyReader.java      |     2 +-
 .../taxonomy/writercache/TestCharBlockArray.java   |     7 +-
 lucene/grouping/build.gradle                       |     2 +
 .../search/grouping/BlockGroupingCollector.java    |     4 +
 .../apache/lucene/search/grouping/DoubleRange.java |    59 +
 .../lucene/search/grouping/DoubleRangeFactory.java |    67 +
 .../search/grouping/DoubleRangeGroupSelector.java  |   100 +
 .../grouping/FirstPassGroupingCollector.java       |     1 +
 .../lucene/search/grouping/GroupSelector.java      |    10 +-
 .../lucene/search/grouping/GroupingSearch.java     |    10 +-
 .../apache/lucene/search/grouping/LongRange.java   |    58 +
 .../lucene/search/grouping/LongRangeFactory.java   |    67 +
 .../search/grouping/LongRangeGroupSelector.java    |   101 +
 .../grouping/SecondPassGroupingCollector.java      |     1 +
 .../lucene/search/grouping/TermGroupSelector.java  |     4 +
 .../search/grouping/ValueSourceGroupSelector.java  |    10 +-
 .../lucene/search/grouping/package-info.java       |    23 +-
 .../search/grouping/AbstractGroupingTestCase.java  |    45 +
 .../search/grouping/BaseGroupSelectorTestCase.java |   365 +
 .../lucene/search/grouping/BlockGroupingTest.java  |   225 +
 .../grouping/DoubleRangeGroupSelectorTest.java     |    59 +
 .../grouping/LongRangeGroupSelectorTest.java       |    59 +
 .../search/grouping/TermGroupSelectorTest.java     |    60 +
 .../search/grouping/TestDoubleRangeFactory.java    |    39 +
 .../lucene/search/grouping/TestGrouping.java       |     2 +
 .../search/grouping/TestLongRangeFactory.java      |    39 +
 .../grouping/ValueSourceGroupSelectorTest.java     |    51 +
 lucene/highlighter/build.gradle                    |     2 +
 .../search/uhighlight/MultiTermHighlighting.java   |     5 +-
 .../search/uhighlight/UnifiedHighlighter.java      |     5 +-
 .../lucene/search/highlight/HighlighterTest.java   |    27 +-
 .../lucene/search/highlight/TokenSourcesTest.java  |     2 +
 .../highlight/custom/HighlightCustomQueryTest.java |    23 +-
 .../uhighlight/TestUnifiedHighlighterMTQ.java      |    11 +-
 .../uhighlight/TestUnifiedHighlighterTermVec.java  |     1 +
 lucene/ivy-versions.properties                     |    36 +-
 lucene/join/build.gradle                           |     2 +
 .../search/join/ToParentBlockJoinSortField.java    |    12 +-
 .../lucene/search/join/TestBlockJoinSelector.java  |     9 +-
 lucene/licenses/hamcrest-2.2.jar.sha1              |     1 +
 .../licenses/hamcrest-LICENSE-BSD.txt              |     0
 .../licenses/hamcrest-NOTICE.txt                   |     0
 lucene/licenses/hamcrest-core-1.3.jar.sha1         |     1 -
 lucene/licenses/hppc-0.8.1.jar.sha1                |     1 -
 lucene/licenses/hppc-0.8.2.jar.sha1                |     1 +
 .../jetty-continuation-9.4.24.v20191120.jar.sha1   |     1 -
 .../jetty-continuation-9.4.27.v20200227.jar.sha1   |     1 +
 .../licenses/jetty-http-9.4.24.v20191120.jar.sha1  |     1 -
 .../licenses/jetty-http-9.4.27.v20200227.jar.sha1  |     1 +
 lucene/licenses/jetty-io-9.4.24.v20191120.jar.sha1 |     1 -
 lucene/licenses/jetty-io-9.4.27.v20200227.jar.sha1 |     1 +
 .../jetty-server-9.4.24.v20191120.jar.sha1         |     1 -
 .../jetty-server-9.4.27.v20200227.jar.sha1         |     1 +
 .../jetty-servlet-9.4.24.v20191120.jar.sha1        |     1 -
 .../jetty-servlet-9.4.27.v20200227.jar.sha1        |     1 +
 .../licenses/jetty-util-9.4.24.v20191120.jar.sha1  |     1 -
 .../licenses/jetty-util-9.4.27.v20200227.jar.sha1  |     1 +
 lucene/licenses/log4j-api-2.11.2.jar.sha1          |     1 -
 lucene/licenses/log4j-api-2.13.2.jar.sha1          |     1 +
 lucene/licenses/log4j-core-2.11.2.jar.sha1         |     1 -
 lucene/licenses/log4j-core-2.13.2.jar.sha1         |     1 +
 .../morfologik-ukrainian-search-3.9.0.jar.sha1     |     1 -
 .../morfologik-ukrainian-search-4.9.1.jar.sha1     |     1 +
 lucene/luke/build.gradle                           |   134 +-
 lucene/luke/src/distribution/README.txt            |     6 +
 .../apache/lucene/luke/app/AbstractHandler.java    |     4 +-
 .../org/apache/lucene/luke/app/IndexHandler.java   |     2 +-
 .../dialog/documents/AddDocumentDialogFactory.java |     6 +-
 .../dialog/menubar/CheckIndexDialogFactory.java    |     2 +-
 .../dialog/menubar/ExportTermsDialogFactory.java   |     4 +-
 .../dialog/menubar/OpenIndexDialogFactory.java     |     2 +-
 .../luke/app/desktop/util/ExceptionHandler.java    |     4 +-
 .../luke/models/documents/DocumentsImpl.java       |     4 +-
 .../apache/lucene/luke/models/util/IndexUtils.java |    22 +-
 .../util/twentynewsgroups/MessageFilesParser.java  |     2 +-
 .../luke/util/reflection/SubtypeCollector.java     |     2 +-
 .../luke/models/overview/OverviewImplTest.java     |     2 +-
 lucene/memory/build.gradle                         |     2 +
 lucene/misc/build.gradle                           |     2 +
 .../org/apache/lucene/index/IndexSplitter.java     |     2 +-
 .../java/org/apache/lucene/store/RAFDirectory.java |    20 +-
 .../org/apache/lucene/store/WindowsDirectory.java  |     5 +-
 .../lucene/util/fst/UpToTwoPositiveIntOutputs.java |     3 +-
 .../similarity/TestLegacyBM25Similarity.java       |     1 +
 .../store/TestHardLinkCopyDirectoryWrapper.java    |     4 +-
 lucene/monitor/build.gradle                        |     2 +
 .../org/apache/lucene/monitor/DocumentBatch.java   |    12 +-
 .../org/apache/lucene/monitor/MatchingQueries.java |     2 +-
 .../lucene/monitor/MultiMatchingQueries.java       |     2 +-
 .../lucene/monitor/TermFilteredPresearcher.java    |     7 +-
 .../lucene/monitor/TestConcurrentQueryLoader.java  |     6 +-
 .../apache/lucene/monitor/TestDocumentBatch.java   |    58 +
 .../org/apache/lucene/monitor/TestMonitor.java     |     2 +
 .../apache/lucene/monitor/TestTermPresearcher.java |     2 +
 lucene/queries/build.gradle                        |     2 +
 .../lucene/queries/function/FunctionQuery.java     |     2 +-
 .../queries/function/FunctionRangeQuery.java       |     3 +-
 .../queries/function/FunctionScoreQuery.java       |     8 +-
 .../lucene/queries/function/FunctionValues.java    |    14 +
 .../lucene/queries/function/ValueSource.java       |    28 +-
 .../lucene/queries/function/ValueSourceScorer.java |    18 +-
 .../function/docvalues/DocTermsIndexDocValues.java |    26 +-
 .../function/valuesource/BytesRefFieldSource.java  |     2 +-
 .../valuesource/ComparisonBoolFunction.java        |     4 +-
 .../function/valuesource/ConstValueSource.java     |     2 +-
 .../queries/function/valuesource/DefFunction.java  |     2 +-
 .../function/valuesource/DocFreqValueSource.java   |   181 +-
 .../valuesource/DoubleConstValueSource.java        |     2 +-
 .../function/valuesource/DoubleFieldSource.java    |     4 +-
 .../function/valuesource/DualFloatFunction.java    |     4 +-
 .../function/valuesource/EnumFieldSource.java      |     2 +-
 .../function/valuesource/FloatFieldSource.java     |     4 +-
 .../function/valuesource/IDFValueSource.java       |     4 +-
 .../queries/function/valuesource/IfFunction.java   |     4 +-
 .../function/valuesource/IntFieldSource.java       |     4 +-
 .../valuesource/JoinDocFreqValueSource.java        |     2 +-
 .../function/valuesource/LinearFloatFunction.java  |     4 +-
 .../function/valuesource/LiteralValueSource.java   |     2 +-
 .../function/valuesource/LongFieldSource.java      |     4 +-
 .../function/valuesource/MaxDocValueSource.java    |     8 +-
 .../function/valuesource/MultiBoolFunction.java    |     4 +-
 .../function/valuesource/MultiFloatFunction.java   |     4 +-
 .../function/valuesource/MultiFunction.java        |     4 +-
 .../valuesource/MultiValuedDoubleFieldSource.java  |     2 +-
 .../valuesource/MultiValuedFloatFieldSource.java   |     2 +-
 .../valuesource/MultiValuedIntFieldSource.java     |     2 +-
 .../valuesource/MultiValuedLongFieldSource.java    |     2 +-
 .../function/valuesource/NormValueSource.java      |     4 +-
 .../function/valuesource/NumDocsValueSource.java   |     4 +-
 .../function/valuesource/QueryValueSource.java     |   129 +-
 .../valuesource/RangeMapFloatFunction.java         |     4 +-
 .../valuesource/ReciprocalFloatFunction.java       |     4 +-
 .../function/valuesource/ScaleFloatFunction.java   |     6 +-
 .../function/valuesource/SimpleBoolFunction.java   |     4 +-
 .../function/valuesource/SimpleFloatFunction.java  |     2 +-
 .../function/valuesource/SingleFunction.java       |     2 +-
 .../function/valuesource/SortedSetFieldSource.java |     4 +-
 .../valuesource/SumTotalTermFreqValueSource.java   |     4 +-
 .../function/valuesource/TFValueSource.java        |     2 +-
 .../function/valuesource/TermFreqValueSource.java  |     2 +-
 .../valuesource/TotalTermFreqValueSource.java      |     4 +-
 .../function/valuesource/VectorValueSource.java    |     4 +-
 .../lucene/queries/intervals/IntervalMatches.java  |     1 +
 .../queries/intervals/OrderedIntervalsSource.java  |     4 +-
 .../queries/function/TestFunctionRangeQuery.java   |    15 +
 .../queries/function/TestFunctionScoreQuery.java   |    32 +
 .../queries/function/TestSortedSetFieldSource.java |    15 +-
 .../lucene/queries/function/TestValueSources.java  |    27 +-
 .../queries/intervals/TestIntervalQuery.java       |    10 +-
 .../lucene/queries/intervals/TestIntervals.java    |    15 +-
 lucene/queryparser/build.gradle                    |     2 +
 .../queryparser/docs/xml/LuceneCoreQuery.dtd.html  |     2 +-
 .../docs/xml/LuceneCoreQuery.dtd.org.html          |     2 +-
 .../lucene/queryparser/classic/FastCharStream.java |     9 +-
 .../flexible/core/nodes/QueryNodeImpl.java         |     2 +-
 .../flexible/standard/parser/FastCharStream.java   |    11 +-
 .../surround/parser/FastCharStream.java            |    11 +-
 .../lucene/queryparser/xml/LuceneCoreQuery.dtd     |     2 +-
 lucene/replicator/build.gradle                     |     2 +
 .../apache/lucene/replicator/nrt/PrimaryNode.java  |     2 +-
 .../nrt/SegmentInfosSearcherManager.java           |     5 +-
 .../lucene/replicator/ReplicatorTestCase.java      |     2 +
 .../apache/lucene/replicator/nrt/SimpleServer.java |     1 +
 .../lucene/replicator/nrt/TestNRTReplication.java  |    17 +-
 .../replicator/nrt/TestStressNRTReplication.java   |     6 +-
 lucene/sandbox/build.gradle                        |     2 +
 .../idversion/VersionBlockTreeTermsWriter.java     |     2 +-
 .../codecs/idversion/VersionFieldReader.java       |     2 +-
 .../lucene/search/LatLonPointPrototypeQueries.java |     4 +-
 .../apache/lucene/search/PhraseWildcardQuery.java  |     2 +-
 .../idversion/TestIDVersionPostingsFormat.java     |     2 +-
 .../document/TestFloatPointNearestNeighbor.java    |     2 +-
 .../test/org/apache/lucene/search/TestNearest.java |     2 +-
 .../lucene/search/TestPhraseWildcardQuery.java     |    10 +-
 .../lucene/search/TestTermAutomatonQuery.java      |     3 +-
 lucene/site/changes/changes2html.pl                |     2 +-
 lucene/site/xsl/index.template.md                  |    50 +
 lucene/site/xsl/index.xsl                          |     6 +-
 lucene/spatial-extras/build.gradle                 |     2 +
 .../org/apache/lucene/spatial/SpatialStrategy.java |     4 +-
 .../lucene/spatial/bbox/BBoxValueSource.java       |     2 +-
 .../lucene/spatial/prefix/HeatmapFacetCounter.java |     4 +-
 .../spatial/prefix/WithinPrefixTreeQuery.java      |     6 +-
 .../spatial/prefix/tree/PackedQuadPrefixTree.java  |     8 +-
 .../lucene/spatial/prefix/tree/QuadPrefixTree.java |    10 +-
 .../lucene/spatial/query/SpatialArgsParser.java    |     2 +-
 .../spatial/spatial4j/Geo3dShapeFactory.java       |     2 +
 .../spatial4j/Geo3dSpatialContextFactory.java      |     2 +
 .../lucene/spatial/DistanceStrategyTest.java       |    14 +-
 .../org/apache/lucene/spatial/PortedSolr3Test.java |    72 +-
 .../lucene/spatial/QueryEqualsHashCodeTest.java    |     4 +-
 .../org/apache/lucene/spatial/SpatialExample.java  |    10 +-
 .../org/apache/lucene/spatial/SpatialTestCase.java |     7 +-
 .../apache/lucene/spatial/StrategyTestCase.java    |     2 +-
 .../lucene/spatial/bbox/TestBBoxStrategy.java      |    32 +-
 .../lucene/spatial/prefix/DateNRStrategyTest.java  |     2 +-
 .../spatial/prefix/HeatmapFacetCounterTest.java    |    34 +-
 .../lucene/spatial/prefix/JtsPolygonTest.java      |     6 +-
 .../spatial/prefix/NumberRangeFacetsTest.java      |    11 +-
 .../prefix/RandomSpatialOpFuzzyPrefixTreeTest.java |     2 +-
 .../prefix/RandomSpatialOpStrategyTestCase.java    |     3 +-
 .../prefix/TestRecursivePrefixTreeStrategy.java    |     6 +-
 .../Geo3dShapeSphereModelRectRelationTest.java     |     2 +-
 .../Geo3dShapeWGS84ModelRectRelationTest.java      |     7 +-
 .../spatial/spatial4j/RandomizedShapeTestCase.java |   233 -
 lucene/spatial3d/build.gradle                      |     2 +
 .../lucene/spatial3d/Geo3DDocValuesField.java      |   252 +-
 .../org/apache/lucene/spatial3d/Geo3DPoint.java    |    99 +-
 .../spatial3d/Geo3DPointDistanceComparator.java    |    18 +-
 .../Geo3DPointOutsideDistanceComparator.java       |    18 +-
 .../spatial3d/Geo3DPointOutsideSortField.java      |     7 +-
 .../lucene/spatial3d/Geo3DPointSortField.java      |     7 +-
 .../org/apache/lucene/spatial3d/Geo3DUtil.java     |   128 +-
 .../lucene/spatial3d/PointInGeo3DShapeQuery.java   |     9 -
 .../spatial3d/PointInShapeIntersectVisitor.java    |    35 +-
 .../lucene/spatial3d/geom/GeoComplexPolygon.java   |    26 +-
 .../lucene/spatial3d/geom/GeoExactCircle.java      |     2 +-
 .../org/apache/lucene/spatial3d/geom/GeoWorld.java |     2 +-
 .../org/apache/lucene/spatial3d/geom/Plane.java    |   332 +-
 .../apache/lucene/spatial3d/geom/PlanetModel.java  |   490 +-
 .../org/apache/lucene/spatial3d/geom/Vector.java   |     4 +-
 .../lucene/spatial3d/TestGeo3DDocValues.java       |    20 +-
 .../apache/lucene/spatial3d/TestGeo3DPoint.java    |   305 +-
 .../apache/lucene/spatial3d/geom/Geo3DUtil.java    |   245 -
 .../lucene/spatial3d/geom/GeoCircleTest.java       |     6 +-
 .../lucene/spatial3d/geom/GeoExactCircleTest.java  |     6 +-
 .../apache/lucene/spatial3d/geom/GeoPathTest.java  |     2 +-
 .../lucene/spatial3d/geom/GeoPolygonTest.java      |    22 +-
 lucene/suggest/build.gradle                        |     2 +
 .../search/spell/LuceneLevenshteinDistance.java    |    24 +-
 .../apache/lucene/search/spell/SuggestWord.java    |     5 +
 .../suggest/analyzing/AnalyzingSuggester.java      |     4 +-
 .../suggest/analyzing/FreeTextSuggester.java       |     8 +-
 .../analyzing/SuggestStopFilterFactory.java        |     5 +
 .../search/suggest/document/NRTSuggester.java      |     4 +-
 .../suggest/document/NRTSuggesterBuilder.java      |     2 +-
 .../search/suggest/fst/FSTCompletionLookup.java    |     4 +-
 .../search/suggest/fst/WFSTCompletionLookup.java   |     4 +-
 .../search/suggest/jaspell/JaspellLookup.java      |     4 +-
 .../search/spell/TestWordBreakSpellChecker.java    |     3 +-
 .../lucene/search/suggest/LookupBenchmarkTest.java |     2 +-
 .../lucene/search/suggest/PersistenceTest.java     |     3 +-
 .../suggest/analyzing/TestFreeTextSuggester.java   |     1 +
 .../suggest/analyzing/TestSuggestStopFilter.java   |     9 -
 .../search/suggest/document/TestSuggestField.java  |    13 +-
 lucene/test-framework/build.gradle                 |    12 +-
 lucene/test-framework/ivy.xml                      |     2 +-
 .../codecs/cheapbastard/CheapBastardCodec.java     |     3 +-
 .../lucene/codecs/cranky/CrankyCompoundFormat.java |     3 +-
 .../mockrandom/MockRandomPostingsFormat.java       |     3 +-
 .../UniformSplitRot13PostingsFormat.java           |    23 +-
 .../STUniformSplitRot13PostingsFormat.java         |    11 +-
 .../apache/lucene/geo/BaseGeoPointTestCase.java    |    10 +-
 .../org/apache/lucene/geo/BaseXYPointTestCase.java |    10 +-
 .../java/org/apache/lucene/geo/GeoTestUtil.java    |    29 +
 .../lucene/index/BaseCompoundFormatTestCase.java   |    42 +
 .../lucene/index/BaseIndexFileFormatTestCase.java  |    58 +-
 .../lucene/index/BaseLiveDocsFormatTestCase.java   |     4 +-
 .../lucene/index/BaseMergePolicyTestCase.java      |    12 +-
 .../apache/lucene/index/MockRandomMergePolicy.java |    32 +
 .../java/org/apache/lucene/index/RandomCodec.java  |    20 +-
 .../org/apache/lucene/index/RandomIndexWriter.java |    58 +-
 .../apache/lucene/index/RandomPostingsTester.java  |     2 +-
 .../index/SuppressingConcurrentMergeScheduler.java |     6 +-
 .../ThreadedIndexingAndSearchingTestCase.java      |    19 +-
 .../lucene/search/AssertingLeafCollector.java      |     6 +-
 .../java/org/apache/lucene/search/CheckHits.java   |    75 +-
 .../java/org/apache/lucene/search/QueryUtils.java  |    26 +-
 .../lucene/search/ShardSearchingTestBase.java      |     3 +-
 .../search/similarities/AssertingSimilarity.java   |     2 +-
 .../apache/lucene/store/MockDirectoryWrapper.java  |    18 +-
 .../java/org/apache/lucene/util/LineFileDocs.java  |   110 +-
 .../org/apache/lucene/util/LuceneTestCase.java     |    34 +-
 .../util/TestRuleSetupAndRestoreClassEnv.java      |    29 +-
 .../src/java/org/apache/lucene/util/TestUtil.java  |     9 +-
 .../java/org/apache/lucene/util/fst/FSTTester.java |     5 +-
 .../org/apache/lucene/geo/lucene-9251.wkt.gz       |   Bin 0 -> 13405 bytes
 .../org/apache/lucene/geo/lucene-9417.geojson.gz   |   Bin 0 -> 79049 bytes
 .../org/apache/lucene/util/europarl.lines.txt.gz   |   Bin 5730708 -> 9695474 bytes
 .../org/apache/lucene/util/europarl.lines.txt.seek |    19 +
 .../lucene/search/TestBaseExplanationTestCase.java |    12 +-
 .../util/TestExceptionInBeforeClassHooks.java      |     3 +-
 lucene/tools/forbiddenApis/base.txt                |     2 +-
 .../tools/src/groovy/check-source-patterns.groovy  |     4 +-
 solr/CHANGES.txt                                   |   583 +-
 solr/NOTICE.txt                                    |    15 +-
 solr/README.md                                     |   217 +
 solr/README.txt                                    |   189 -
 solr/bin/solr                                      |    47 +-
 solr/bin/solr.cmd                                  |    46 +-
 solr/bin/solr.in.cmd                               |    29 +-
 solr/bin/solr.in.sh                                |    18 +-
 solr/build.gradle                                  |     2 +
 solr/build.xml                                     |    12 +-
 solr/contrib/analysis-extras/README.md             |    26 +
 solr/contrib/analysis-extras/README.txt            |    23 -
 solr/contrib/analysis-extras/build.gradle          |     2 +
 ...ExtractNamedEntitiesUpdateProcessorFactory.java |    13 +-
 solr/contrib/analytics/build.gradle                |     2 +
 .../apache/solr/analytics/ExpressionFactory.java   |    78 +-
 .../apache/solr/analytics/facet/PivotFacet.java    |    77 +-
 .../apache/solr/analytics/facet/QueryFacet.java    |     8 +-
 .../apache/solr/analytics/facet/RangeFacet.java    |     8 +-
 .../function/mapping/ComparisonFunction.java       |   320 +-
 .../function/mapping/DateMathFunction.java         |   171 +-
 .../function/mapping/DateParseFunction.java        |   261 +-
 .../mapping/DecimalNumericConversionFunction.java  |   283 +-
 .../analytics/function/mapping/EqualFunction.java  |   301 +-
 .../analytics/function/mapping/ExistsFunction.java |   143 +-
 .../function/mapping/FillMissingFunction.java      |  1283 +-
 .../analytics/function/mapping/FilterFunction.java |  1075 +-
 .../analytics/function/mapping/IfFunction.java     |  1268 +-
 .../analytics/function/mapping/LambdaFunction.java |  4044 +++---
 .../analytics/function/mapping/RemoveFunction.java |  1187 +-
 .../function/mapping/ReplaceFunction.java          |  1521 +--
 .../analytics/function/reduction/MaxFunction.java  |   405 +-
 .../function/reduction/MedianFunction.java         |   237 +-
 .../analytics/function/reduction/MinFunction.java  |   405 +-
 .../function/reduction/OrdinalFunction.java        |   489 +-
 .../function/reduction/PercentileFunction.java     |   453 +-
 .../stream/AnalyticsShardRequestManager.java       |     4 +-
 .../solr/analytics/util/FacetRangeGenerator.java   |   132 +-
 .../solr/analytics/util/MedianCalculator.java      |     6 +-
 .../solr/analytics/util/OldAnalyticsParams.java    |    34 +-
 .../util/OldAnalyticsRequestConverter.java         |     4 +-
 .../solr/analytics/util/OrdinalCalculator.java     |    15 +-
 .../org/apache/solr/handler/AnalyticsHandler.java  |     6 -
 .../solr/handler/component/AnalyticsComponent.java |     2 +-
 .../response/AnalyticsShardResponseWriter.java     |     2 +-
 .../analytics/legacy/facetWithDottedFields.txt     |    16 +
 .../solr/collection1/conf/schema-analytics.xml     |     2 +
 .../analytics/legacy/LegacyNoFacetCloudTest.java   |    32 +-
 .../solr/analytics/legacy/LegacyNoFacetTest.java   |    32 +-
 .../LegacyAbstractAnalyticsFacetCloudTest.java     |     2 +-
 .../facet/LegacyAbstractAnalyticsFacetTest.java    |     4 +-
 .../legacy/facet/LegacyFieldFacetTest.java         |     1 +
 .../util/OldAnalyticsRequestConverterUnitTest.java |    64 +
 solr/contrib/clustering/{README.txt => README.md}  |     0
 solr/contrib/clustering/build.gradle               |     2 +
 .../handler/clustering/ClusteringComponent.java    |    20 +-
 .../clustering/carrot2/CarrotClusteringEngine.java |    20 +-
 .../carrot2/LuceneCarrot2StemmerFactory.java       |    10 +-
 .../clustering/carrot2/SolrResourceLocator.java    |     8 +-
 solr/contrib/dataimporthandler-extras/build.gradle |     2 +
 .../handler/dataimport/MailEntityProcessor.java    |   101 +-
 .../handler/dataimport/TikaEntityProcessor.java    |    19 +-
 .../src/java/overview.html                         |     2 +-
 .../collection1/conf/dataimport-solrconfig.xml     |     2 +-
 .../dataimport/TestMailEntityProcessor.java        |    13 +-
 solr/contrib/dataimporthandler/README.md           |    26 +
 solr/contrib/dataimporthandler/README.txt          |    16 -
 solr/contrib/dataimporthandler/build.gradle        |     2 +
 .../solr/handler/dataimport/BinURLDataSource.java  |     6 +-
 .../solr/handler/dataimport/ClobTransformer.java   |     1 +
 .../apache/solr/handler/dataimport/Context.java    |     2 +
 .../solr/handler/dataimport/ContextImpl.java       |     7 +-
 .../solr/handler/dataimport/DataImportHandler.java |    13 +-
 .../solr/handler/dataimport/DataImporter.java      |    10 +-
 .../apache/solr/handler/dataimport/DataSource.java |     3 +-
 .../handler/dataimport/DateFormatTransformer.java  |     1 +
 .../solr/handler/dataimport/DebugLogger.java       |    12 +-
 .../apache/solr/handler/dataimport/DocBuilder.java |    76 +-
 .../solr/handler/dataimport/EntityProcessor.java   |     3 +-
 .../handler/dataimport/EntityProcessorWrapper.java |    26 +-
 .../solr/handler/dataimport/FileDataSource.java    |    12 +-
 .../handler/dataimport/HTMLStripTransformer.java   |     1 +
 .../solr/handler/dataimport/JdbcDataSource.java    |    20 +-
 .../dataimport/NumberFormatTransformer.java        |     1 +
 .../dataimport/PlainTextEntityProcessor.java       |     1 +
 .../solr/handler/dataimport/RegexTransformer.java  |     6 +-
 .../handler/dataimport/SimplePropertiesWriter.java |    10 +-
 .../apache/solr/handler/dataimport/SolrWriter.java |    10 +-
 .../handler/dataimport/SqlEntityProcessor.java     |    10 +-
 .../handler/dataimport/TemplateTransformer.java    |     5 +-
 .../solr/handler/dataimport/URLDataSource.java     |     6 +-
 .../handler/dataimport/XPathEntityProcessor.java   |    21 +-
 .../solr/handler/dataimport/XPathRecordReader.java |     3 +-
 .../handler/dataimport/ZKPropertiesWriter.java     |     4 +-
 .../dataimport/config/DIHConfiguration.java        |     8 +-
 .../dataimporthandler/src/java/overview.html       |     2 +-
 .../collection1/conf/contentstream-solrconfig.xml  |     2 +-
 .../conf/dataimport-nodatasource-solrconfig.xml    |     2 +-
 .../collection1/conf/dataimport-solrconfig.xml     |     2 +-
 .../dataimporthandler/src/test-files/log4j2.xml    |    42 +
 .../src/test-files/solr/collection1/README         |     1 +
 .../solr/configsets/dihconfigset/conf/README       |     2 +
 .../solr/configsets/dihconfigset/conf/schema.xml   |    70 +
 .../configsets/dihconfigset/conf/solrconfig.xml    |   287 +
 .../dataimporthandler/src/test-files/solr/solr.xml |    27 +
 .../dataimport/AbstractDIHCacheTestCase.java       |     2 +-
 .../AbstractDataImportHandlerTestCase.java         |     9 +-
 .../AbstractSqlEntityProcessorTestCase.java        |    23 +-
 .../dataimport/MockInitialContextFactory.java      |     2 +-
 .../handler/dataimport/TestClobTransformer.java    |     2 +
 .../dataimport/TestContentStreamDataSource.java    |     2 +-
 .../solr/handler/dataimport/TestDataConfig.java    |     1 +
 .../solr/handler/dataimport/TestDocBuilder.java    |    10 +-
 .../solr/handler/dataimport/TestDocBuilder2.java   |    16 +-
 .../handler/dataimport/TestEphemeralCache.java     |     3 +
 .../solr/handler/dataimport/TestErrorHandling.java |     1 +
 .../solr/handler/dataimport/TestFieldReader.java   |     1 +
 .../dataimport/TestFileListEntityProcessor.java    |    14 +-
 .../dataimport/TestJdbcDataSourceConvertType.java  |     2 +-
 .../dataimport/TestLineEntityProcessor.java        |    14 +-
 .../dataimport/TestPlainTextEntityProcessor.java   |     3 +
 .../handler/dataimport/TestRegexTransformer.java   |     5 +
 .../handler/dataimport/TestScriptTransformer.java  |     4 +-
 .../TestSolrEntityProcessorEndToEnd.java           |    16 +-
 .../dataimport/TestSolrEntityProcessorUnit.java    |     3 +-
 .../dataimport/TestSortedMapBackedCache.java       |     6 +-
 .../dataimport/TestSqlEntityProcessorDelta.java    |    12 +-
 .../dataimport/TestTemplateTransformer.java        |     4 +
 .../handler/dataimport/TestVariableResolver.java   |     1 +
 .../solr/handler/dataimport/TestWriterImpl.java    |     2 +
 .../dataimport/TestXPathEntityProcessor.java       |    15 +
 .../handler/dataimport/TestXPathRecordReader.java  |     1 +
 .../handler/dataimport/TestZKPropertiesWriter.java |   207 +-
 solr/contrib/extraction/README.md                  |    17 +
 solr/contrib/extraction/README.txt                 |    16 -
 solr/contrib/extraction/build.gradle               |     2 +
 .../extraction/ExtractingDocumentLoader.java       |     8 +-
 .../extraction/ExtractingRequestHandler.java       |    49 +-
 .../extraction/RegexRulesPasswordProvider.java     |     4 +-
 .../handler/extraction/XLSXResponseWriter.java     |     4 +-
 .../extraction/ExtractingRequestHandlerTest.java   |     3 +
 solr/contrib/jaegertracer-configurator/README.md   |    33 +
 solr/contrib/jaegertracer-configurator/README.txt  |    32 -
 .../contrib/jaegertracer-configurator/build.gradle |     2 +
 .../solr/jaeger/JaegerTracerConfigurator.java      |     2 +-
 .../apache/solr/jaeger/TestJaegerConfigurator.java |     4 +
 solr/contrib/langid/README.md                      |    22 +
 solr/contrib/langid/README.txt                     |    22 -
 solr/contrib/langid/build.gradle                   |     2 +
 .../LanguageIdentifierUpdateProcessor.java         |    48 +-
 .../OpenNLPLangDetectUpdateProcessorFactory.java   |     2 +-
 .../TikaLanguageIdentifierUpdateProcessor.java     |     5 +-
 solr/contrib/ltr/README.md                         |     2 +-
 solr/contrib/ltr/README.txt                        |     1 -
 solr/contrib/ltr/build.gradle                      |     2 +
 .../java/org/apache/solr/ltr/LTRThreadModule.java  |     7 +-
 .../java/org/apache/solr/ltr/feature/Feature.java  |    42 +
 .../solr/ltr/feature/OriginalScoreFeature.java     |    23 +-
 .../org/apache/solr/ltr/feature/SolrFeature.java   |   199 +-
 .../org/apache/solr/ltr/model/LTRScoringModel.java |     1 +
 .../org/apache/solr/ltr/model/LinearModel.java     |     1 +
 .../solr/ltr/model/MultipleAdditiveTreesModel.java |     4 +
 .../apache/solr/ltr/model/NeuralNetworkModel.java  |     4 +
 .../LTRFeatureLoggerTransformerFactory.java        |     1 +
 .../apache/solr/ltr/search/LTRQParserPlugin.java   |     1 +
 .../solr/ltr/store/rest/ManagedModelStore.java     |     5 +-
 .../org/apache/solr/ltr/TestLTROnSolrCloud.java    |    12 +-
 .../apache/solr/ltr/TestLTRReRankingPipeline.java  |     6 +-
 .../test/org/apache/solr/ltr/TestRerankBase.java   |    35 +-
 .../org/apache/solr/ltr/feature/TestFeature.java   |    48 +
 .../TestFeatureExtractionFromMultipleSegments.java |     2 +
 .../solr/ltr/feature/TestNoMatchSolrFeature.java   |     4 +
 .../solr/ltr/feature/TestOriginalScoreFeature.java |     6 +
 .../solr/ltr/feature/TestOriginalScoreScorer.java  |    47 -
 .../solr/ltr/model/TestNeuralNetworkModel.java     |     1 +
 .../store/rest/TestModelManagerPersistence.java    |     4 +
 solr/contrib/prometheus-exporter/README.md         |    21 +
 solr/contrib/prometheus-exporter/README.txt        |    21 -
 solr/contrib/prometheus-exporter/build.gradle      |     2 +
 .../conf/solr-exporter-config.xml                  |     8 +-
 .../collector/SchedulerMetricsCollector.java       |     7 +-
 .../solr/prometheus/exporter/MetricsQuery.java     |     1 +
 .../exporter/PrometheusExporterSettings.java       |     4 +-
 .../solr/prometheus/exporter/SolrExporter.java     |    10 +-
 .../org/apache/solr/prometheus/scraper/Async.java  |     1 +
 .../solr/prometheus/scraper/SolrScraper.java       |     4 +-
 ...theus-solr-exporter-integration-test-config.xml |     8 +-
 .../prometheus/PrometheusExporterTestBase.java     |     4 +-
 .../prometheus/scraper/SolrCloudScraperTest.java   |     4 +-
 .../scraper/SolrStandaloneScraperTest.java         |     4 +-
 solr/contrib/velocity/build.gradle                 |     2 +
 .../solr/response/VelocityResponseWriter.java      |    14 +-
 solr/core/build.gradle                             |     7 +-
 solr/core/ivy.xml                                  |     2 +-
 .../solr/analysis/LowerCaseTokenizerFactory.java   |     5 +
 .../analysis/ReversedWildcardFilterFactory.java    |     4 +
 .../src/java/org/apache/solr/api/AnnotatedApi.java |   252 +-
 solr/core/src/java/org/apache/solr/api/ApiBag.java |    36 +-
 .../apache/solr/api/CustomContainerPlugins.java    |   354 +
 .../src/java/org/apache/solr/api/EndPoint.java     |     2 +-
 .../src/java/org/apache/solr/api/PayloadObj.java   |    35 +-
 .../src/java/org/apache/solr/api/V2HttpCall.java   |    43 +-
 .../client/solrj/embedded/EmbeddedSolrServer.java  |    17 +-
 .../client/solrj/embedded/JettySolrRunner.java     |    15 +-
 .../apache/solr/cloud/ActiveReplicaWatcher.java    |    19 +-
 .../apache/solr/cloud/CloudConfigSetService.java   |     7 +-
 .../src/java/org/apache/solr/cloud/CloudUtil.java  |    16 +-
 .../solr/cloud/CurrentCoreDescriptorProvider.java  |    28 -
 .../org/apache/solr/cloud/ElectionContext.java     |   707 -
 .../apache/solr/cloud/ExclusiveSliceProperty.java  |    10 +-
 .../java/org/apache/solr/cloud/LeaderElector.java  |     2 +-
 .../src/java/org/apache/solr/cloud/LockTree.java   |    56 +-
 .../src/java/org/apache/solr/cloud/Overseer.java   |   121 +-
 .../cloud/OverseerConfigSetMessageHandler.java     |    20 +-
 .../apache/solr/cloud/OverseerElectionContext.java |   110 +
 .../apache/solr/cloud/OverseerMessageHandler.java  |     7 +-
 .../apache/solr/cloud/OverseerNodePrioritizer.java |    15 +-
 .../apache/solr/cloud/OverseerSolrResponse.java    |     4 +-
 .../apache/solr/cloud/OverseerTaskProcessor.java   |   230 +-
 .../org/apache/solr/cloud/OverseerTaskQueue.java   |    13 +-
 .../solr/cloud/RecoveringCoreTermWatcher.java      |     4 +-
 .../org/apache/solr/cloud/RecoveryStrategy.java    |   109 +-
 .../org/apache/solr/cloud/ReplicateFromLeader.java |    10 +-
 .../solr/cloud/ShardLeaderElectionContext.java     |   493 +
 .../solr/cloud/ShardLeaderElectionContextBase.java |   195 +
 .../java/org/apache/solr/cloud/SolrZkServer.java   |    80 +-
 .../java/org/apache/solr/cloud/SyncStrategy.java   |    64 +-
 .../core/src/java/org/apache/solr/cloud/ZkCLI.java |    21 +-
 .../java/org/apache/solr/cloud/ZkController.java   |   427 +-
 .../org/apache/solr/cloud/ZkDistributedQueue.java  |    17 +-
 .../java/org/apache/solr/cloud/ZkShardTerms.java   |     1 +
 .../apache/solr/cloud/ZkSolrResourceLoader.java    |    34 +-
 .../solr/cloud/api/collections/AddReplicaCmd.java  |    81 +-
 .../solr/cloud/api/collections/AliasCmd.java       |     1 +
 .../apache/solr/cloud/api/collections/Assign.java  |   236 +-
 .../solr/cloud/api/collections/BackupCmd.java      |    15 +-
 .../cloud/api/collections/CategoryRoutedAlias.java |     4 +-
 .../solr/cloud/api/collections/CreateAliasCmd.java |     2 +-
 .../cloud/api/collections/CreateCollectionCmd.java |   153 +-
 .../solr/cloud/api/collections/CreateShardCmd.java |     3 +-
 .../cloud/api/collections/CreateSnapshotCmd.java   |    28 +-
 .../solr/cloud/api/collections/DeleteAliasCmd.java |     2 +-
 .../cloud/api/collections/DeleteCollectionCmd.java |     3 +-
 .../solr/cloud/api/collections/DeleteNodeCmd.java  |     7 +-
 .../cloud/api/collections/DeleteReplicaCmd.java    |    16 +-
 .../solr/cloud/api/collections/DeleteShardCmd.java |    15 +-
 .../cloud/api/collections/DeleteSnapshotCmd.java   |    14 +-
 .../api/collections/MaintainRoutedAliasCmd.java    |    14 +-
 .../solr/cloud/api/collections/MigrateCmd.java     |    51 +-
 .../solr/cloud/api/collections/MoveReplicaCmd.java |    32 +-
 .../OverseerCollectionMessageHandler.java          |   125 +-
 .../cloud/api/collections/OverseerRoleCmd.java     |     6 +-
 .../cloud/api/collections/OverseerStatusCmd.java   |     7 +-
 .../api/collections/ReindexCollectionCmd.java      |    68 +-
 .../solr/cloud/api/collections/RenameCmd.java      |     2 +-
 .../solr/cloud/api/collections/ReplaceNodeCmd.java |    32 +-
 .../solr/cloud/api/collections/RestoreCmd.java     |   373 +-
 .../solr/cloud/api/collections/RoutedAlias.java    |    11 +-
 .../cloud/api/collections/SetAliasPropCmd.java     |     2 +-
 .../solr/cloud/api/collections/SplitShardCmd.java  |   118 +-
 .../cloud/api/collections/TimeRoutedAlias.java     |    12 +-
 .../solr/cloud/api/collections/UtilizeNodeCmd.java |   133 -
 .../solr/cloud/autoscaling/ActionContext.java      |    68 -
 .../autoscaling/AutoAddReplicasPlanAction.java     |    63 -
 .../apache/solr/cloud/autoscaling/AutoScaling.java |   244 -
 .../solr/cloud/autoscaling/AutoScalingHandler.java |   732 -
 .../solr/cloud/autoscaling/ComputePlanAction.java  |   305 -
 .../solr/cloud/autoscaling/ExecutePlanAction.java  |   244 -
 .../cloud/autoscaling/HttpTriggerListener.java     |   164 -
 .../autoscaling/InactiveMarkersPlanAction.java     |   139 -
 .../cloud/autoscaling/InactiveShardPlanAction.java |   152 -
 .../solr/cloud/autoscaling/IndexSizeTrigger.java   |   557 -
 .../solr/cloud/autoscaling/LoggingListener.java    |    38 -
 .../solr/cloud/autoscaling/MetricTrigger.java      |   219 -
 .../solr/cloud/autoscaling/NodeAddedTrigger.java   |   244 -
 .../solr/cloud/autoscaling/NodeLostTrigger.java    |   236 -
 .../cloud/autoscaling/OverseerTriggerThread.java   |   397 -
 .../solr/cloud/autoscaling/ScheduledTrigger.java   |   227 -
 .../solr/cloud/autoscaling/ScheduledTriggers.java  |   906 --
 .../solr/cloud/autoscaling/SearchRateTrigger.java  |   797 --
 .../solr/cloud/autoscaling/SystemLogListener.java  |   219 -
 .../solr/cloud/autoscaling/TriggerAction.java      |    51 -
 .../solr/cloud/autoscaling/TriggerActionBase.java  |    87 -
 .../cloud/autoscaling/TriggerActionException.java  |    33 -
 .../apache/solr/cloud/autoscaling/TriggerBase.java |   283 -
 .../solr/cloud/autoscaling/TriggerEvent.java       |   311 -
 .../solr/cloud/autoscaling/TriggerEventQueue.java  |   119 -
 .../solr/cloud/autoscaling/TriggerListener.java    |    65 -
 .../cloud/autoscaling/TriggerListenerBase.java     |    97 -
 .../solr/cloud/autoscaling/TriggerUtils.java       |    87 -
 .../autoscaling/TriggerValidationException.java    |    74 -
 .../solr/cloud/autoscaling/package-info.java       |    21 -
 .../solr/cloud/autoscaling/sim/ActionError.java    |    24 -
 .../cloud/autoscaling/sim/FakeDocIterator.java     |    56 -
 .../autoscaling/sim/GenericDistributedQueue.java   |   599 -
 .../sim/GenericDistributedQueueFactory.java        |    45 -
 .../solr/cloud/autoscaling/sim/LiveNodesSet.java   |   113 -
 .../sim/NoopDistributedQueueFactory.java           |    94 -
 .../cloud/autoscaling/sim/SimCloudManager.java     |  1051 --
 .../autoscaling/sim/SimClusterStateProvider.java   |  2469 ----
 .../autoscaling/sim/SimDistribStateManager.java    |   646 -
 .../sim/SimDistributedQueueFactory.java            |   284 -
 .../autoscaling/sim/SimNodeStateProvider.java      |   347 -
 .../solr/cloud/autoscaling/sim/SimScenario.java    |  1108 --
 .../solr/cloud/autoscaling/sim/SimUtils.java       |   435 -
 .../autoscaling/sim/SnapshotCloudManager.java      |   257 -
 .../sim/SnapshotClusterStateProvider.java          |   130 -
 .../sim/SnapshotDistribStateManager.java           |   222 -
 .../autoscaling/sim/SnapshotNodeStateProvider.java |   200 -
 .../solr/cloud/autoscaling/sim/package-info.java   |    94 -
 .../solr/cloud/overseer/ClusterStateMutator.java   |    21 +-
 .../solr/cloud/overseer/CollectionMutator.java     |     9 +-
 .../apache/solr/cloud/overseer/NodeMutator.java    |     8 +-
 .../apache/solr/cloud/overseer/ReplicaMutator.java |    88 +-
 .../apache/solr/cloud/overseer/SliceMutator.java   |    14 +-
 .../apache/solr/cloud/overseer/ZkStateWriter.java  |    47 +-
 .../apache/solr/cloud/rule/ReplicaAssigner.java    |    15 +-
 .../src/java/org/apache/solr/cloud/rule/Rule.java  |    13 +-
 .../solr/cloud/rule/ServerSnitchContext.java       |     1 +
 .../solr/core/AbstractSolrEventListener.java       |     5 +-
 .../java/org/apache/solr/core/BlobRepository.java  |    17 +-
 .../apache/solr/core/CachingDirectoryFactory.java  |    36 +-
 .../src/java/org/apache/solr/core/CloudConfig.java |    25 +-
 .../java/org/apache/solr/core/CodecFactory.java    |     2 +-
 .../java/org/apache/solr/core/ConfigOverlay.java   |    14 +
 .../src/java/org/apache/solr/core/ConfigSet.java   |    29 +-
 .../org/apache/solr/core/ConfigSetProperties.java  |     6 +-
 .../org/apache/solr/core/ConfigSetService.java     |    17 +-
 .../java/org/apache/solr/core/CoreContainer.java   |   399 +-
 .../java/org/apache/solr/core/CoreDescriptor.java  |    10 +-
 .../apache/solr/core/CorePropertiesLocator.java    |    24 +-
 .../src/java/org/apache/solr/core/CoreSorter.java  |    77 +-
 .../src/java/org/apache/solr/core/Diagnostics.java |     2 +-
 .../org/apache/solr/core/DirectoryFactory.java     |    21 +-
 .../org/apache/solr/core/HdfsDirectoryFactory.java |    29 +-
 .../solr/core/IndexDeletionPolicyWrapper.java      |     4 +-
 .../org/apache/solr/core/IndexReaderFactory.java   |     2 +-
 .../src/java/org/apache/solr/core/InitParams.java  |    12 +-
 .../org/apache/solr/core/MMapDirectoryFactory.java |     1 +
 .../java/org/apache/solr/core/MemClassLoader.java  |   200 -
 .../solr/core/NRTCachingDirectoryFactory.java      |     1 +
 .../src/java/org/apache/solr/core/NodeConfig.java  |    86 +-
 .../src/java/org/apache/solr/core/PluginBag.java   |   261 +-
 .../src/java/org/apache/solr/core/PluginInfo.java  |    58 +-
 .../org/apache/solr/core/QuerySenderListener.java  |    54 +-
 .../java/org/apache/solr/core/RequestHandlers.java |     6 +-
 .../java/org/apache/solr/core/RequestParams.java   |    65 +-
 .../org/apache/solr/core/SchemaCodecFactory.java   |     9 +-
 .../apache/solr/core/SimpleFSDirectoryFactory.java |    42 -
 .../apache/solr/core/SimpleTextCodecFactory.java   |     1 +
 .../java/org/apache/solr/core/SolrClassLoader.java |    29 +
 .../src/java/org/apache/solr/core/SolrConfig.java  |   145 +-
 .../src/java/org/apache/solr/core/SolrCore.java    |   236 +-
 .../src/java/org/apache/solr/core/SolrCores.java   |    33 +-
 .../org/apache/solr/core/SolrDeletionPolicy.java   |    14 +-
 .../src/java/org/apache/solr/core/SolrPaths.java   |   138 +
 .../org/apache/solr/core/SolrResourceLoader.java   |   416 +-
 .../java/org/apache/solr/core/SolrXmlConfig.java   |    73 +-
 .../apache/solr/core/StandardDirectoryFactory.java |     2 +-
 .../apache/solr/core/TransientSolrCoreCache.java   |    10 -
 .../solr/core/TransientSolrCoreCacheDefault.java   |    29 +-
 .../solr/core/TransientSolrCoreCacheFactory.java   |     6 +-
 .../java/org/apache/solr/core/XmlConfigFile.java   |    56 +-
 .../src/java/org/apache/solr/core/ZkContainer.java |   105 +-
 .../org/apache/solr/core/backup/BackupManager.java |     2 +-
 .../backup/repository/HdfsBackupRepository.java    |    14 +-
 .../repository/LocalFileSystemRepository.java      |    13 +-
 .../solr/core/snapshots/SolrSnapshotManager.java   |    12 +-
 .../snapshots/SolrSnapshotMetaDataManager.java     |    10 +-
 .../solr/core/snapshots/SolrSnapshotsTool.java     |    16 +-
 .../apache/solr/filestore/DistribPackageStore.java |    91 +-
 .../org/apache/solr/filestore/PackageStore.java    |     7 +
 .../org/apache/solr/filestore/PackageStoreAPI.java |    74 +-
 .../solr/handler/AnalysisRequestHandlerBase.java   |     3 +
 .../org/apache/solr/handler/AnalyzeEvaluator.java  |     2 +-
 .../java/org/apache/solr/handler/BlobHandler.java  |    16 +-
 .../java/org/apache/solr/handler/CatStream.java    |    92 +-
 .../solr/handler/CdcrBufferStateManager.java       |     8 +-
 .../solr/handler/CdcrLeaderStateManager.java       |     4 +-
 .../solr/handler/CdcrProcessStateManager.java      |     8 +-
 .../org/apache/solr/handler/CdcrReplicator.java    |    13 +-
 .../apache/solr/handler/CdcrReplicatorManager.java |    44 +-
 .../solr/handler/CdcrReplicatorScheduler.java      |    10 +-
 .../apache/solr/handler/CdcrReplicatorState.java   |     2 +-
 .../apache/solr/handler/CdcrRequestHandler.java    |    38 +-
 .../solr/handler/CdcrUpdateLogSynchronizer.java    |    20 +-
 .../solr/handler/ContentStreamHandlerBase.java     |     2 +-
 .../handler/DocumentAnalysisRequestHandler.java    |     8 +-
 .../apache/solr/handler/DumpRequestHandler.java    |    10 +-
 .../org/apache/solr/handler/ExportHandler.java     |    80 +-
 .../solr/handler/FieldAnalysisRequestHandler.java  |     3 +
 .../java/org/apache/solr/handler/GraphHandler.java |    23 +-
 .../java/org/apache/solr/handler/IndexFetcher.java |   217 +-
 .../apache/solr/handler/MoreLikeThisHandler.java   |     5 +-
 .../apache/solr/handler/PingRequestHandler.java    |     2 +-
 .../apache/solr/handler/ReplicationHandler.java    |   343 +-
 .../apache/solr/handler/RequestHandlerBase.java    |     8 +-
 .../java/org/apache/solr/handler/RestoreCore.java  |     3 +-
 .../java/org/apache/solr/handler/SQLHandler.java   |    10 +-
 .../org/apache/solr/handler/SchemaHandler.java     |    62 +-
 .../java/org/apache/solr/handler/SnapShooter.java  |    28 +-
 .../org/apache/solr/handler/SolrConfigHandler.java |    83 +-
 .../org/apache/solr/handler/StreamHandler.java     |   107 +-
 .../apache/solr/handler/UpdateRequestHandler.java  |     4 +-
 .../solr/handler/admin/AdminHandlersProxy.java     |    10 +-
 .../handler/admin/AutoscalingHistoryHandler.java   |   165 -
 .../solr/handler/admin/BaseHandlerApiSupport.java  |     5 +-
 .../apache/solr/handler/admin/ClusterStatus.java   |    34 +-
 .../org/apache/solr/handler/admin/ColStatus.java   |     9 +-
 .../solr/handler/admin/CollectionHandlerApi.java   |     2 +-
 .../solr/handler/admin/CollectionsHandler.java     |    63 +-
 .../solr/handler/admin/ConfigSetsHandler.java      |    16 +-
 .../solr/handler/admin/ContainerPluginsApi.java    |   179 +
 .../solr/handler/admin/CoreAdminHandler.java       |     6 +-
 .../solr/handler/admin/CoreAdminOperation.java     |     9 +-
 .../solr/handler/admin/HealthCheckHandler.java     |    82 +-
 .../solr/handler/admin/IndexSizeEstimator.java     |     7 +-
 .../org/apache/solr/handler/admin/InfoHandler.java |     2 +-
 .../apache/solr/handler/admin/LoggingHandler.java  |     9 +-
 .../solr/handler/admin/LukeRequestHandler.java     |    36 +-
 .../apache/solr/handler/admin/MergeIndexesOp.java  |     8 +-
 .../handler/admin/MetricsCollectorHandler.java     |    10 +-
 .../apache/solr/handler/admin/MetricsHandler.java  |     7 +-
 .../solr/handler/admin/MetricsHistoryHandler.java  |    56 +-
 .../apache/solr/handler/admin/PrepRecoveryOp.java  |    22 +-
 .../solr/handler/admin/RebalanceLeaders.java       |    24 +-
 .../solr/handler/admin/RequestSyncShardOp.java     |     8 +-
 .../solr/handler/admin/SecurityConfHandler.java    |     7 +-
 .../handler/admin/SegmentsInfoRequestHandler.java  |    11 +-
 .../solr/handler/admin/ShowFileRequestHandler.java |    16 +-
 .../solr/handler/admin/SolrInfoMBeanHandler.java   |     4 +
 .../org/apache/solr/handler/admin/SplitOp.java     |    14 +-
 .../solr/handler/admin/SystemInfoHandler.java      |    57 +-
 .../solr/handler/admin/ThreadDumpHandler.java      |    54 +-
 .../solr/handler/admin/ZookeeperInfoHandler.java   |   201 +-
 .../solr/handler/admin/ZookeeperReadAPI.java       |   145 +
 .../solr/handler/admin/ZookeeperStatusHandler.java |    85 +-
 .../solr/handler/component/CloudReplicaSource.java |     2 +
 .../solr/handler/component/DebugComponent.java     |    38 +-
 .../solr/handler/component/ExpandComponent.java    |   119 +-
 .../solr/handler/component/FacetComponent.java     |    22 +-
 .../solr/handler/component/FieldFacetStats.java    |     4 +-
 .../solr/handler/component/HighlightComponent.java |     9 +-
 .../solr/handler/component/HttpShardHandler.java   |   176 +-
 .../handler/component/HttpShardHandlerFactory.java |    93 +-
 .../handler/component/IterativeMergeStrategy.java  |     5 +-
 .../solr/handler/component/MergeStrategy.java      |     1 +
 .../handler/component/MoreLikeThisComponent.java   |    36 +-
 .../component/PhrasesIdentificationComponent.java  |     4 +
 .../component/PivotFacetFieldValueCollection.java  |     3 +-
 .../solr/handler/component/PivotFacetHelper.java   |     5 +
 .../handler/component/PivotFacetProcessor.java     |     4 +-
 .../solr/handler/component/QueryComponent.java     |    41 +-
 .../handler/component/QueryElevationComponent.java |    13 +-
 .../handler/component/RangeFacetProcessor.java     |     1 +
 .../solr/handler/component/RangeFacetRequest.java  |    13 +-
 .../handler/component/RealTimeGetComponent.java    |    56 +-
 .../solr/handler/component/ResponseBuilder.java    |     6 +-
 .../solr/handler/component/SearchComponent.java    |     2 +-
 .../solr/handler/component/SearchHandler.java      |    90 +-
 .../apache/solr/handler/component/ShardDoc.java    |     1 +
 .../component/ShardFieldSortedHitQueue.java        |     6 +-
 .../solr/handler/component/ShardResponse.java      |     4 +-
 .../handler/component/SortedDateStatsValues.java   |     6 +-
 .../component/SortedNumericStatsValues.java        |     6 +-
 .../handler/component/SpatialHeatmapFacets.java    |     4 +-
 .../handler/component/SpellCheckComponent.java     |    62 +-
 .../handler/component/StandaloneReplicaSource.java |     1 +
 .../solr/handler/component/StatsComponent.java     |   113 +-
 .../apache/solr/handler/component/StatsInfo.java   |   108 +
 .../apache/solr/handler/component/StatsValues.java |     2 +-
 .../solr/handler/component/StatsValuesFactory.java |  1385 +-
 .../solr/handler/component/SuggestComponent.java   |    54 +-
 .../handler/component/TermVectorComponent.java     |     6 +-
 .../solr/handler/component/TermsComponent.java     |     4 +-
 .../org/apache/solr/handler/export/DoubleCmp.java  |    43 -
 .../org/apache/solr/handler/export/DoubleComp.java |    45 +
 .../solr/handler/export/DoubleValueSortDoc.java    |     1 +
 .../apache/solr/handler/export/ExportBuffers.java  |   271 +
 .../apache/solr/handler/export/ExportWriter.java   |   306 +-
 .../solr/handler/export/ExportWriterStream.java    |   242 +
 .../org/apache/solr/handler/export/FloatCmp.java   |    44 -
 .../org/apache/solr/handler/export/FloatComp.java  |    44 +
 .../org/apache/solr/handler/export/IntComp.java    |    32 +-
 .../org/apache/solr/handler/export/LongCmp.java    |    45 -
 .../org/apache/solr/handler/export/LongComp.java   |    46 +
 .../org/apache/solr/handler/export/LongValue.java  |     4 +-
 .../apache/solr/handler/export/PriorityQueue.java  |   218 -
 .../solr/handler/export/QuadValueSortDoc.java      |     1 +
 .../solr/handler/export/SingleValueSortDoc.java    |     3 +-
 .../org/apache/solr/handler/export/SortDoc.java    |    19 +-
 .../org/apache/solr/handler/export/SortQueue.java  |   155 +-
 .../solr/handler/export/StringFieldWriter.java     |    25 +-
 .../apache/solr/handler/export/StringValue.java    |    36 +-
 .../solr/handler/export/TripleValueSortDoc.java    |     1 +
 .../apache/solr/handler/loader/JavabinLoader.java  |     6 +-
 .../org/apache/solr/handler/loader/JsonLoader.java |    19 +-
 .../org/apache/solr/handler/loader/XMLLoader.java  |    22 +-
 .../apache/solr/handler/sql/CalciteSolrDriver.java |    16 +-
 .../org/apache/solr/handler/sql/LimitStream.java   |     6 +-
 .../org/apache/solr/handler/sql/SolrAggregate.java |     1 +
 .../apache/solr/handler/sql/SolrEnumerator.java    |     3 +
 .../org/apache/solr/handler/sql/SolrFilter.java    |    16 +-
 .../org/apache/solr/handler/sql/SolrMethod.java    |     1 +
 .../org/apache/solr/handler/sql/SolrSchema.java    |    62 +-
 .../org/apache/solr/handler/sql/SolrTable.java     |    31 +-
 .../handler/sql/SolrToEnumerableConverter.java     |     3 +
 .../org/apache/solr/handler/tagger/Tagger.java     |     9 +-
 .../solr/handler/tagger/TaggerRequestHandler.java  |   119 +-
 .../solr/handler/tagger/TermPrefixCursor.java      |     1 +
 .../solr/highlight/DefaultSolrHighlighter.java     |   514 +-
 .../solr/highlight/HighlightingPluginBase.java     |     2 +-
 .../org/apache/solr/highlight/RegexFragmenter.java |     2 +-
 .../org/apache/solr/highlight/SolrEncoder.java     |     2 +-
 .../org/apache/solr/highlight/SolrFormatter.java   |     2 +-
 .../apache/solr/highlight/SolrFragListBuilder.java |     2 +-
 .../org/apache/solr/highlight/SolrFragmenter.java  |     2 +-
 .../solr/highlight/UnifiedSolrHighlighter.java     |     3 +-
 .../solr/index/WrapperMergePolicyFactory.java      |     1 +
 .../org/apache/solr/internal/csv/CSVParser.java    |     4 +
 .../org/apache/solr/internal/csv/CSVPrinter.java   |     1 +
 .../java/org/apache/solr/logging/LogWatcher.java   |    10 +-
 .../org/apache/solr/logging/MDCLoggingContext.java |    78 +-
 .../org/apache/solr/metrics/MetricSuppliers.java   |    15 +-
 .../java/org/apache/solr/metrics/MetricsMap.java   |     5 +-
 .../apache/solr/metrics/SolrCoreMetricManager.java |     4 +-
 .../org/apache/solr/metrics/SolrMetricManager.java |    75 +-
 .../apache/solr/metrics/SolrMetricProducer.java    |     9 +-
 .../apache/solr/metrics/SolrMetricReporter.java    |     4 +-
 .../metrics/reporters/ReporterClientCache.java     |     4 +-
 .../solr/metrics/reporters/SolrJmxReporter.java    |     6 +-
 .../solr/metrics/reporters/SolrSlf4jReporter.java  |     1 +
 .../metrics/reporters/jmx/JmxMetricsReporter.java  |    18 +-
 .../reporters/solr/SolrClusterReporter.java        |    10 +-
 .../solr/metrics/reporters/solr/SolrReporter.java  |    83 +-
 .../metrics/reporters/solr/SolrShardReporter.java  |    20 +-
 .../apache/solr/metrics/rrd/SolrRrdBackend.java    |     2 +-
 .../solr/metrics/rrd/SolrRrdBackendFactory.java    |    31 +-
 .../packagemanager/DefaultPackageRepository.java   |     4 +-
 .../apache/solr/packagemanager/PackageManager.java |   446 +-
 .../apache/solr/packagemanager/PackageUtils.java   |     3 +
 .../solr/packagemanager/RepositoryManager.java     |    34 +-
 .../apache/solr/packagemanager/SolrPackage.java    |     4 +
 .../solr/packagemanager/SolrPackageInstance.java   |    23 +
 .../org/apache/solr/parser/FastCharStream.java     |    12 +
 .../apache/solr/parser/SolrQueryParserBase.java    |    27 +-
 .../src/java/org/apache/solr/pkg/PackageAPI.java   |    62 +-
 .../java/org/apache/solr/pkg/PackageListeners.java |    58 +-
 .../solr/pkg/PackageListeningClassLoader.java      |   151 +
 .../java/org/apache/solr/pkg/PackageLoader.java    |    80 +-
 .../org/apache/solr/pkg/PackagePluginHolder.java   |    66 +-
 .../apache/solr/request/LocalSolrQueryRequest.java |    12 +-
 .../java/org/apache/solr/request/SimpleFacets.java |    27 +-
 .../apache/solr/request/SolrQueryRequestBase.java  |     1 +
 .../apache/solr/request/SolrRequestHandler.java    |     4 +-
 .../org/apache/solr/request/SolrRequestInfo.java   |    96 +-
 .../solr/request/json/JsonQueryConverter.java      |    52 +-
 .../org/apache/solr/request/json/ObjectUtil.java   |     8 +-
 .../apache/solr/response/BinaryResponseWriter.java |    13 +-
 .../apache/solr/response/CSVResponseWriter.java    |     4 +-
 .../org/apache/solr/response/DocsStreamer.java     |     1 +
 .../solr/response/GeoJSONResponseWriter.java       |    20 +-
 .../solr/response/GraphMLResponseWriter.java       |     8 +-
 .../apache/solr/response/JSONResponseWriter.java   |    25 +-
 .../java/org/apache/solr/response/JSONWriter.java  |    43 +-
 .../apache/solr/response/PHPResponseWriter.java    |     6 +-
 .../solr/response/PHPSerializedResponseWriter.java |    24 +-
 .../apache/solr/response/PythonResponseWriter.java |     4 +-
 .../apache/solr/response/QueryResponseWriter.java  |     2 +-
 .../apache/solr/response/RawResponseWriter.java    |     2 +-
 .../apache/solr/response/RubyResponseWriter.java   |     4 +-
 .../solr/response/SchemaXmlResponseWriter.java     |     2 +-
 .../org/apache/solr/response/SchemaXmlWriter.java  |    25 +-
 .../apache/solr/response/SmileResponseWriter.java  |     2 +-
 .../apache/solr/response/SolrQueryResponse.java    |     1 +
 .../solr/response/TabularResponseWriter.java       |    13 +-
 .../apache/solr/response/TextResponseWriter.java   |    16 +-
 .../apache/solr/response/XMLResponseWriter.java    |     2 +-
 .../java/org/apache/solr/response/XMLWriter.java   |    79 +-
 .../apache/solr/response/XSLTResponseWriter.java   |     4 +-
 .../response/transform/ChildDocTransformer.java    |     6 +
 .../transform/ChildDocTransformerFactory.java      |    11 +-
 .../response/transform/DocIdAugmenterFactory.java  |    31 +-
 .../transform/ExplainAugmenterFactory.java         |     2 +-
 .../response/transform/GeoTransformerFactory.java  |     1 +
 .../transform/RawValueTransformerFactory.java      |     3 +-
 .../response/transform/ShardAugmenterFactory.java  |     2 +-
 .../transform/SubQueryAugmenterFactory.java        |    64 +-
 .../response/transform/TransformerFactory.java     |     2 +-
 .../response/transform/ValueAugmenterFactory.java  |    80 +-
 .../response/transform/ValueSourceAugmenter.java   |     3 +
 .../org/apache/solr/rest/BaseSolrResource.java     |     8 +-
 .../java/org/apache/solr/rest/ManagedResource.java |    14 +-
 .../apache/solr/rest/ManagedResourceStorage.java   |    31 +-
 .../src/java/org/apache/solr/rest/RestManager.java |    21 +-
 .../analysis/BaseManagedTokenFilterFactory.java    |     5 +
 .../schema/analysis/ManagedStopFilterFactory.java  |     5 +
 .../analysis/ManagedSynonymFilterFactory.java      |    10 +-
 .../analysis/ManagedSynonymGraphFilterFactory.java |    10 +-
 .../schema/analysis/ManagedWordSetResource.java    |     7 +-
 .../org/apache/solr/schema/AbstractEnumField.java  |     5 +-
 .../solr/schema/AbstractSpatialFieldType.java      |     2 +-
 .../schema/AbstractSpatialPrefixTreeFieldType.java |     4 +-
 .../java/org/apache/solr/schema/BinaryField.java   |     2 +-
 .../src/java/org/apache/solr/schema/BoolField.java |   147 +-
 .../solr/schema/ClassicIndexSchemaFactory.java     |     2 +-
 .../org/apache/solr/schema/CurrencyFieldType.java  |     5 +-
 .../org/apache/solr/schema/DatePointField.java     |    50 +-
 .../src/java/org/apache/solr/schema/EnumField.java |     2 +-
 .../org/apache/solr/schema/ExternalFileField.java  |     3 +-
 .../solr/schema/ExternalFileFieldReloader.java     |     6 +-
 .../src/java/org/apache/solr/schema/FieldType.java |     5 +-
 .../apache/solr/schema/FieldTypePluginLoader.java  |    39 +-
 .../java/org/apache/solr/schema/IndexSchema.java   |   184 +-
 .../org/apache/solr/schema/IndexSchemaFactory.java |     4 +-
 .../apache/solr/schema/JsonPreAnalyzedParser.java  |    10 +-
 .../solr/schema/LatLonPointSpatialField.java       |     1 +
 .../java/org/apache/solr/schema/LatLonType.java    |     4 +
 .../org/apache/solr/schema/ManagedIndexSchema.java |    98 +-
 .../solr/schema/ManagedIndexSchemaFactory.java     |   115 +-
 .../solr/schema/OpenExchangeRatesOrgProvider.java  |    16 +-
 .../java/org/apache/solr/schema/PointField.java    |     6 +-
 .../org/apache/solr/schema/PreAnalyzedField.java   |    13 +-
 .../org/apache/solr/schema/RandomSortField.java    |     2 +-
 .../src/java/org/apache/solr/schema/RankField.java |   140 +
 .../solr/schema/RptWithGeometrySpatialField.java   |     1 +
 .../java/org/apache/solr/schema/SchemaManager.java |     8 +-
 .../src/java/org/apache/solr/schema/StrField.java  |     2 +-
 .../org/apache/solr/schema/StrFieldSource.java     |     2 +-
 .../src/java/org/apache/solr/schema/TextField.java |     2 +-
 .../java/org/apache/solr/schema/TrieDateField.java |     1 +
 .../org/apache/solr/schema/TrieDoubleField.java    |     3 +-
 .../src/java/org/apache/solr/schema/TrieField.java |     3 +-
 .../org/apache/solr/schema/TrieFloatField.java     |     3 +-
 .../java/org/apache/solr/schema/TrieIntField.java  |     3 +-
 .../java/org/apache/solr/schema/TrieLongField.java |     3 +-
 .../src/java/org/apache/solr/schema/UUIDField.java |     4 +-
 .../apache/solr/schema/ZkIndexSchemaReader.java    |    16 +-
 .../apache/solr/search/AbstractReRankQuery.java    |     2 +-
 .../org/apache/solr/search/BoolQParserPlugin.java  |    53 +-
 .../java/org/apache/solr/search/CacheConfig.java   |    16 +-
 .../org/apache/solr/search/CacheRegenerator.java   |     4 +-
 .../java/org/apache/solr/search/CaffeineCache.java |     5 +-
 .../solr/search/CollapsingQParserPlugin.java       |   520 +-
 .../solr/search/ComplexPhraseQParserPlugin.java    |     2 +-
 .../java/org/apache/solr/search/CursorMark.java    |     1 +
 .../src/java/org/apache/solr/search/DocList.java   |     3 +
 .../src/java/org/apache/solr/search/DocSet.java    |    12 +-
 .../java/org/apache/solr/search/DocSetUtil.java    |    10 +-
 .../src/java/org/apache/solr/search/DocSlice.java  |    15 +-
 .../apache/solr/search/ExportQParserPlugin.java    |     5 +
 .../apache/solr/search/ExtendedDismaxQParser.java  |     5 +-
 .../solr/search/FloatPayloadValueSource.java       |     4 +-
 .../org/apache/solr/search/FunctionQParser.java    |    30 +-
 .../org/apache/solr/search/FunctionRangeQuery.java |     4 +
 .../solr/search/GraphTermsQParserPlugin.java       |    96 +-
 .../src/java/org/apache/solr/search/Grouping.java  |    58 +-
 .../solr/search/IGainTermsQParserPlugin.java       |     2 +
 .../org/apache/solr/search/JoinQParserPlugin.java  |   619 +-
 .../src/java/org/apache/solr/search/JoinQuery.java |   508 +
 .../org/apache/solr/search/MaxScoreCollector.java  |    10 +-
 .../java/org/apache/solr/search/QParserPlugin.java |     5 +-
 .../java/org/apache/solr/search/QueryCommand.java  |    10 +
 .../java/org/apache/solr/search/QueryContext.java  |     2 +
 .../java/org/apache/solr/search/QueryParsing.java  |     1 +
 .../org/apache/solr/search/QueryResultKey.java     |    15 +-
 .../java/org/apache/solr/search/QueryUtils.java    |    32 +-
 .../org/apache/solr/search/RankQParserPlugin.java  |   158 +
 .../src/java/org/apache/solr/search/RankQuery.java |     1 +
 .../org/apache/solr/search/ReRankCollector.java    |    12 +-
 .../java/org/apache/solr/search/ScoreFilter.java   |    21 -
 .../solr/search/SignificantTermsQParserPlugin.java |     6 +
 .../src/java/org/apache/solr/search/SolrCache.java |     5 +-
 .../org/apache/solr/search/SolrCacheHolder.java    |   150 -
 .../apache/solr/search/SolrConstantScoreQuery.java |     1 +
 .../org/apache/solr/search/SolrCoreParser.java     |     1 +
 .../apache/solr/search/SolrDocumentFetcher.java    |     3 +-
 .../java/org/apache/solr/search/SolrFilter.java    |     6 +-
 .../org/apache/solr/search/SolrIndexSearcher.java  |   331 +-
 .../apache/solr/search/SurroundQParserPlugin.java  |     2 +-
 .../org/apache/solr/search/TermsQParserPlugin.java |     3 +
 .../TextLogisticRegressionQParserPlugin.java       |     4 +-
 .../org/apache/solr/search/ValueSourceParser.java  |   651 +-
 .../org/apache/solr/search/XmlQParserPlugin.java   |     3 +-
 .../java/org/apache/solr/search/facet/AggUtil.java |     8 +-
 .../apache/solr/search/facet/AggValueSource.java   |     3 +-
 .../java/org/apache/solr/search/facet/AvgAgg.java  |    22 +-
 .../org/apache/solr/search/facet/CountAgg.java     |     6 +-
 .../org/apache/solr/search/facet/CountValsAgg.java |    12 +-
 .../org/apache/solr/search/facet/DocValuesAcc.java |   575 +-
 .../org/apache/solr/search/facet/FacetBucket.java  |    15 +-
 .../org/apache/solr/search/facet/FacetContext.java |    74 +
 .../apache/solr/search/facet/FacetDebugInfo.java   |     2 +-
 .../org/apache/solr/search/facet/FacetField.java   |    45 +-
 .../apache/solr/search/facet/FacetFieldMerger.java |     7 +-
 .../solr/search/facet/FacetFieldProcessor.java     |   130 +-
 .../search/facet/FacetFieldProcessorByArray.java   |    40 +-
 .../search/facet/FacetFieldProcessorByArrayDV.java |   177 +-
 .../FacetFieldProcessorByEnumTermsStream.java      |     1 +
 .../search/facet/FacetFieldProcessorByHashDV.java  |    31 +-
 .../org/apache/solr/search/facet/FacetHeatmap.java |    12 +-
 .../org/apache/solr/search/facet/FacetModule.java  |   307 +-
 .../org/apache/solr/search/facet/FacetParser.java  |   637 +
 .../apache/solr/search/facet/FacetProcessor.java   |    24 +-
 .../org/apache/solr/search/facet/FacetQuery.java   |     3 +-
 .../org/apache/solr/search/facet/FacetRange.java   |  1038 +-
 .../apache/solr/search/facet/FacetRangeMerger.java |     4 +-
 .../apache/solr/search/facet/FacetRangeParser.java |    76 +
 .../solr/search/facet/FacetRangeProcessor.java     |  1077 ++
 .../org/apache/solr/search/facet/FacetRequest.java |   747 +-
 .../solr/search/facet/FacetRequestSorted.java      |    58 +
 .../search/facet/FacetRequestSortedMerger.java     |    10 +-
 .../java/org/apache/solr/search/facet/HLLAgg.java  |    27 +-
 .../org/apache/solr/search/facet/LegacyFacet.java  |     1 +
 .../org/apache/solr/search/facet/MinMaxAgg.java    |    21 +-
 .../org/apache/solr/search/facet/MissingAgg.java   |     6 +-
 .../apache/solr/search/facet/PercentileAgg.java    |     8 +-
 .../solr/search/facet/ReadOnlyCountSlotAcc.java    |    31 +
 .../apache/solr/search/facet/RelatednessAgg.java   |   277 +-
 .../solr/search/facet/SimpleAggValueSource.java    |     1 +
 .../apache/solr/search/facet/SingletonDISI.java    |    48 +
 .../solr/search/facet/SingletonDocIterator.java    |    52 +
 .../java/org/apache/solr/search/facet/SlotAcc.java |   967 +-
 .../org/apache/solr/search/facet/StddevAgg.java    |    20 +-
 .../java/org/apache/solr/search/facet/SumAgg.java  |    12 +-
 .../org/apache/solr/search/facet/SumsqAgg.java     |    10 +-
 .../apache/solr/search/facet/SweepCountAware.java  |   187 +
 .../org/apache/solr/search/facet/SweepDISI.java    |    85 +
 .../apache/solr/search/facet/SweepDocIterator.java |    87 +
 .../apache/solr/search/facet/UnInvertedField.java  |    73 +-
 .../solr/search/facet/UnInvertedFieldAcc.java      |   174 +-
 .../org/apache/solr/search/facet/UnionDISI.java    |   100 +
 .../apache/solr/search/facet/UnionDocIterator.java |   107 +
 .../org/apache/solr/search/facet/UniqueAgg.java    |    45 +-
 .../apache/solr/search/facet/UniqueBlockAgg.java   |    11 +-
 .../solr/search/facet/UniqueBlockFieldAgg.java     |     2 +-
 .../solr/search/facet/UniqueBlockQueryAgg.java     |     6 +-
 .../apache/solr/search/facet/UniqueSlotAcc.java    |    24 +-
 .../org/apache/solr/search/facet/VarianceAgg.java  |    20 +-
 .../search/function/CollapseScoreFunction.java     |     2 +
 .../solr/search/function/FieldNameValueSource.java |     1 +
 .../solr/search/function/FileFloatSource.java      |    37 +-
 .../solr/search/function/MultiStringFunction.java  |     3 +-
 .../solr/search/function/OrdFieldSource.java       |     1 +
 .../search/function/ReverseOrdFieldSource.java     |     1 +
 .../search/function/ValueSourceRangeFilter.java    |     5 +-
 .../distance/GeoDistValueSourceParser.java         |     4 +-
 .../search/function/distance/GeohashFunction.java  |     3 +
 .../distance/GeohashHaversineFunction.java         |     8 +-
 .../function/distance/HaversineConstFunction.java  |     8 +-
 .../function/distance/HaversineFunction.java       |     7 +-
 .../function/distance/StringDistanceFunction.java  |     3 +
 .../function/distance/VectorDistanceFunction.java  |     7 +-
 .../solr/search/grouping/CommandHandler.java       |    26 +-
 .../distributed/command/GroupConverter.java        |     6 +-
 .../grouping/distributed/command/QueryCommand.java |     1 +
 .../command/SearchGroupsFieldCommand.java          |     3 +
 .../distributed/command/TopGroupsFieldCommand.java |     2 +
 .../SearchGroupShardResponseProcessor.java         |     3 +-
 .../TopGroupsShardResponseProcessor.java           |     4 +-
 .../SearchGroupsResultTransformer.java             |     7 +-
 .../ShardResultTransformer.java                    |     2 +
 .../TopGroupsResultTransformer.java                |     3 +-
 .../GroupedEndResultTransformer.java               |     4 +-
 .../solr/search/join/BlockJoinChildQParser.java    |     7 +-
 .../solr/search/join/BlockJoinParentQParser.java   |   105 +-
 .../search/join/ChildFieldValueSourceParser.java   |     6 +-
 .../search/join/CrossCollectionJoinQParser.java    |    92 +
 .../solr/search/join/CrossCollectionJoinQuery.java |   380 +
 .../apache/solr/search/join/FiltersQParser.java    |    91 +-
 .../solr/search/join/GraphEdgeCollector.java       |   207 +
 .../org/apache/solr/search/join/GraphQuery.java    |     2 +-
 .../solr/search/join/GraphTermsCollector.java      |   202 -
 .../solr/search/join/ScoreJoinQParserPlugin.java   |    19 +-
 .../org/apache/solr/search/join/XCJFQParser.java   |    90 -
 .../apache/solr/search/join/XCJFQParserPlugin.java |    66 -
 .../org/apache/solr/search/join/XCJFQuery.java     |   380 -
 .../apache/solr/search/mlt/CloudMLTQParser.java    |     4 +
 .../apache/solr/search/mlt/SimpleMLTQParser.java   |     1 +
 .../similarities/BooleanSimilarityFactory.java     |    36 +
 .../solr/search/stats/ExactSharedStatsCache.java   |     6 +-
 .../apache/solr/search/stats/ExactStatsCache.java  |    22 +-
 .../apache/solr/search/stats/LRUStatsCache.java    |    10 +-
 .../org/apache/solr/search/stats/StatsCache.java   |     2 +-
 .../org/apache/solr/search/stats/StatsUtil.java    |    17 +-
 .../apache/solr/security/AuditLoggerPlugin.java    |    16 +-
 .../apache/solr/security/AuthenticationPlugin.java |    29 +-
 .../apache/solr/security/AuthorizationContext.java |    27 +-
 .../solr/security/AutorizationEditOperation.java   |     9 +
 .../org/apache/solr/security/BasicAuthPlugin.java  |    21 +-
 .../org/apache/solr/security/CertAuthPlugin.java   |    51 +
 .../security/DelegationTokenKerberosFilter.java    |    19 +-
 .../ExternalRoleRuleBasedAuthorizationPlugin.java  |    52 +
 .../org/apache/solr/security/HadoopAuthPlugin.java |    44 +-
 .../org/apache/solr/security/JWTAuthPlugin.java    |    52 +-
 .../org/apache/solr/security/JWTPrincipal.java     |     4 +-
 .../solr/security/JWTVerificationkeyResolver.java  |     8 +-
 .../org/apache/solr/security/KerberosFilter.java   |     6 +-
 .../org/apache/solr/security/KerberosPlugin.java   |    57 +-
 .../solr/security/MultiDestinationAuditLogger.java |     6 +-
 .../solr/security/PKIAuthenticationPlugin.java     |    42 +-
 .../java/org/apache/solr/security/Permission.java  |     9 +-
 .../solr/security/PermissionNameProvider.java      |     5 +-
 .../security/RuleBasedAuthorizationPlugin.java     |   307 +-
 .../security/RuleBasedAuthorizationPluginBase.java |   347 +
 .../security/Sha256AuthenticationProvider.java     |    13 +-
 .../solr/security/SolrLogAuditLoggerPlugin.java    |     4 +-
 .../apache/solr/servlet/DirectSolrConnection.java  |     4 +-
 .../java/org/apache/solr/servlet/HttpSolrCall.java |    57 +-
 .../apache/solr/servlet/LoadAdminUiServlet.java    |    31 +-
 .../org/apache/solr/servlet/QueryRateLimiter.java  |    55 +
 .../org/apache/solr/servlet/RateLimitManager.java  |   181 +
 .../apache/solr/servlet/RequestRateLimiter.java    |   168 +
 .../org/apache/solr/servlet/ResponseUtils.java     |     5 +-
 .../apache/solr/servlet/SolrDispatchFilter.java    |   160 +-
 .../apache/solr/servlet/SolrRequestParsers.java    |   151 +-
 .../solr/spelling/AbstractLuceneSpellChecker.java  |     3 +-
 .../solr/spelling/DirectSolrSpellChecker.java      |     7 +-
 .../solr/spelling/FileBasedSpellChecker.java       |     2 +-
 .../solr/spelling/IndexBasedSpellChecker.java      |     2 +-
 .../org/apache/solr/spelling/QueryConverter.java   |     3 +-
 .../org/apache/solr/spelling/SolrSpellChecker.java |     2 +-
 .../apache/solr/spelling/SpellCheckCollator.java   |    16 +-
 .../solr/spelling/WordBreakSolrSpellChecker.java   |     8 +-
 .../solr/spelling/suggest/DictionaryFactory.java   |     3 +-
 .../DocumentExpressionDictionaryFactory.java       |    20 +-
 .../solr/spelling/suggest/LookupFactory.java       |     2 +-
 .../solr/spelling/suggest/SolrSuggester.java       |    27 +-
 .../apache/solr/spelling/suggest/Suggester.java    |    14 +-
 .../suggest/fst/AnalyzingInfixLookupFactory.java   |     2 +-
 .../suggest/fst/AnalyzingLookupFactory.java        |     2 +-
 .../suggest/fst/BlendedInfixLookupFactory.java     |     2 +-
 .../spelling/suggest/fst/FSTLookupFactory.java     |     2 +-
 .../suggest/fst/FreeTextLookupFactory.java         |     2 +-
 .../spelling/suggest/fst/FuzzyLookupFactory.java   |     2 +-
 .../spelling/suggest/fst/WFSTLookupFactory.java    |     2 +-
 .../suggest/jaspell/JaspellLookupFactory.java      |     4 +-
 .../spelling/suggest/tst/TSTLookupFactory.java     |     2 +-
 .../solr/store/blockcache/BlockDirectory.java      |     2 +-
 .../org/apache/solr/store/hdfs/HdfsDirectory.java  |    10 +-
 .../org/apache/solr/store/hdfs/HdfsFileWriter.java |     2 +
 .../solr/store/hdfs/HdfsLocalityReporter.java      |    10 +-
 .../apache/solr/store/hdfs/HdfsLockFactory.java    |     4 +
 .../org/apache/solr/update/AddUpdateCommand.java   |     1 +
 .../org/apache/solr/update/CdcrTransactionLog.java |     8 +-
 .../java/org/apache/solr/update/CdcrUpdateLog.java |     6 +-
 .../java/org/apache/solr/update/CommitTracker.java |    25 +-
 .../apache/solr/update/DefaultSolrCoreState.java   |     8 +-
 .../apache/solr/update/DirectUpdateHandler2.java   |    37 +-
 .../org/apache/solr/update/DocumentBuilder.java    |     1 +
 .../org/apache/solr/update/HdfsTransactionLog.java |    10 +-
 .../java/org/apache/solr/update/HdfsUpdateLog.java |    25 +-
 .../org/apache/solr/update/IndexFingerprint.java   |     5 +-
 .../org/apache/solr/update/LoggingInfoStream.java  |     4 +-
 .../src/java/org/apache/solr/update/PeerSync.java  |   149 +-
 .../org/apache/solr/update/PeerSyncWithLeader.java |    56 +-
 .../org/apache/solr/update/SolrCmdDistributor.java |    12 +-
 .../java/org/apache/solr/update/SolrCoreState.java |     3 +-
 .../org/apache/solr/update/SolrIndexConfig.java    |    29 +-
 .../org/apache/solr/update/SolrIndexSplitter.java  |    28 +-
 .../org/apache/solr/update/SolrIndexWriter.java    |    12 +-
 .../apache/solr/update/StreamingSolrClients.java   |     2 +-
 .../org/apache/solr/update/TransactionLog.java     |   174 +-
 .../java/org/apache/solr/update/UpdateHandler.java |     8 +-
 .../src/java/org/apache/solr/update/UpdateLog.java |    99 +-
 .../org/apache/solr/update/UpdateShardHandler.java |    16 +-
 .../java/org/apache/solr/update/VersionInfo.java   |     4 +
 ...AbstractDefaultValueUpdateProcessorFactory.java |     2 +-
 .../AddSchemaFieldsUpdateProcessorFactory.java     |    11 +-
 ...llValuesOrNoneFieldMutatingUpdateProcessor.java |     6 +-
 .../processor/AtomicUpdateDocumentMerger.java      |    58 +-
 .../processor/AtomicUpdateProcessorFactory.java    |     3 +-
 .../solr/update/processor/CdcrUpdateProcessor.java |     2 +
 .../processor/CdcrUpdateProcessorFactory.java      |     2 +-
 .../ClassificationUpdateProcessorFactory.java      |     2 +-
 .../CloneFieldUpdateProcessorFactory.java          |    17 +-
 .../ConcatFieldUpdateProcessorFactory.java         |     2 +-
 .../CountFieldValuesUpdateProcessorFactory.java    |     2 +-
 .../DefaultValueUpdateProcessorFactory.java        |     2 +-
 .../processor/DistributedUpdateProcessor.java      |    83 +-
 .../processor/DistributedZkUpdateProcessor.java    |    54 +-
 .../DocBasedVersionConstraintsProcessor.java       |     8 +-
 ...DocBasedVersionConstraintsProcessorFactory.java |     7 +-
 .../DocExpirationUpdateProcessorFactory.java       |    25 +-
 .../FieldLengthUpdateProcessorFactory.java         |     2 +-
 .../processor/FieldMutatingUpdateProcessor.java    |     7 +-
 .../FieldMutatingUpdateProcessorFactory.java       |    11 +-
 .../FieldNameMutatingUpdateProcessorFactory.java   |     2 +-
 .../FieldValueMutatingUpdateProcessor.java         |    12 +-
 ...IgnoreCommitOptimizeUpdateProcessorFactory.java |     2 +-
 .../IgnoreLargeDocumentProcessorFactory.java       |     5 +-
 .../LastFieldValueUpdateProcessorFactory.java      |     1 +
 .../processor/LogUpdateProcessorFactory.java       |    31 +-
 .../MaxFieldValueUpdateProcessorFactory.java       |     7 +-
 .../MinFieldValueUpdateProcessorFactory.java       |     7 +-
 .../ParseBooleanFieldUpdateProcessorFactory.java   |     4 +-
 .../ParseDateFieldUpdateProcessorFactory.java      |     9 +-
 .../ParseDoubleFieldUpdateProcessorFactory.java    |     6 +-
 .../ParseFloatFieldUpdateProcessorFactory.java     |     6 +-
 .../ParseIntFieldUpdateProcessorFactory.java       |     6 +-
 .../ParseLongFieldUpdateProcessorFactory.java      |     6 +-
 .../ParseNumericFieldUpdateProcessorFactory.java   |     2 +-
 .../PreAnalyzedUpdateProcessorFactory.java         |     2 +-
 .../processor/RegexReplaceProcessorFactory.java    |     2 +-
 .../update/processor/RegexpBoostProcessor.java     |    13 +-
 .../RemoveBlankFieldUpdateProcessorFactory.java    |     2 +-
 .../processor/RunUpdateProcessorFactory.java       |   123 +-
 .../processor/SignatureUpdateProcessorFactory.java |     2 +-
 .../processor/SimpleUpdateProcessorFactory.java    |     3 +-
 .../SkipExistingDocumentsProcessorFactory.java     |     2 +-
 .../StatelessScriptUpdateProcessorFactory.java     |     5 +-
 .../update/processor/TolerantUpdateProcessor.java  |     2 +-
 .../processor/TrimFieldUpdateProcessorFactory.java |     2 +-
 .../TruncateFieldUpdateProcessorFactory.java       |     2 +-
 .../update/processor/URLClassifyProcessor.java     |    60 +-
 .../processor/UUIDUpdateProcessorFactory.java      |     2 +-
 .../UniqFieldsUpdateProcessorFactory.java          |     3 +-
 .../processor/UpdateRequestProcessorChain.java     |    18 +-
 .../processor/UpdateRequestProcessorFactory.java   |     2 +-
 .../org/apache/solr/util/ConcurrentLRUCache.java   |    10 +-
 .../src/java/org/apache/solr/util/CryptoKeys.java  |     5 +-
 .../src/java/org/apache/solr/util/DOMUtil.java     |     6 +-
 .../apache/solr/util/DefaultSolrThreadFactory.java |    49 -
 .../src/java/org/apache/solr/util/DynamicMap.java  |    55 +
 .../src/java/org/apache/solr/util/ExportTool.java  |    61 +-
 .../src/java/org/apache/solr/util/FSHDFSUtils.java |    14 +-
 .../java/org/apache/solr/util/FloatConsumer.java   |    39 +
 .../org/apache/solr/util/IntFloatDynamicMap.java   |   118 +
 .../org/apache/solr/util/IntIntDynamicMap.java     |   120 +
 .../org/apache/solr/util/IntLongDynamicMap.java    |   120 +
 .../apache/solr/util/MockSearchableSolrClient.java |     3 +-
 .../src/java/org/apache/solr/util/PackageTool.java |   126 +-
 .../src/java/org/apache/solr/util/RTimerTree.java  |     1 +
 .../src/java/org/apache/solr/util/SolrCLI.java     |  1590 +--
 .../apache/solr/util/SolrFileCleaningTracker.java  |   147 -
 .../java/org/apache/solr/util/SolrLogLayout.java   |     1 +
 .../java/org/apache/solr/util/SolrLogPostTool.java |   294 +-
 .../java/org/apache/solr/util/SolrPluginUtils.java |    27 +-
 .../org/apache/solr/util/StartupLoggingUtils.java  |     3 +-
 .../java/org/apache/solr/util/TestInjection.java   |    17 +-
 .../solr/util/circuitbreaker/CircuitBreaker.java   |    56 +
 .../util/circuitbreaker/CircuitBreakerManager.java |   134 +
 .../util/circuitbreaker/MemoryCircuitBreaker.java  |   114 +
 .../SSLCredentialProviderFactory.java              |     8 +-
 .../providers/HadoopSSLCredentialProvider.java     |     2 +-
 .../solr/util/plugin/AbstractPluginLoader.java     |    16 +-
 .../util/plugin/NamedListInitializedPlugin.java    |     2 +-
 .../org/apache/solr/util/stats/MetricUtils.java    |    12 +-
 .../solr/util/tracing/SolrRequestCarrier.java      |     3 +-
 .../apache/solr/util/xslt/TransformerProvider.java |    10 +-
 .../resources/EditableSolrConfigAttributes.json    |     5 +-
 solr/core/src/resources/ImplicitPlugins.json       |    13 +-
 solr/core/src/test-files/log4j2.xml                |    44 +-
 solr/core/src/test-files/runtimecode/MyPlugin.java |    43 +
 .../runtimecode/containerplugin.v.1.jar.bin        |   Bin 0 -> 867 bytes
 .../runtimecode/containerplugin.v.2.jar.bin        |   Bin 0 -> 867 bytes
 .../test-files/runtimecode/schema-plugins.jar.bin  |   Bin 0 -> 6814 bytes
 solr/core/src/test-files/runtimecode/sig.txt       |    13 +
 .../collection1/conf/schema-booleansimilarity.xml  |    35 +
 .../solr/collection1/conf/schema-rank-fields.xml   |    27 +
 .../test-files/solr/collection1/conf/schema15.xml  |     3 +
 .../solr/collection1/conf/schema_latest.xml        |     4 +
 .../conf/solrconfig-cache-enable-disable.xml       |    10 +
 .../solr/collection1/conf/solrconfig-follower.xml  |    59 +
 ...rconfig-slave1.xml => solrconfig-follower1.xml} |     0
 ...rottled.xml => solrconfig-leader-throttled.xml} |     0
 .../solr/collection1/conf/solrconfig-leader.xml    |    70 +
 .../conf/solrconfig-leader1-keepOneBackup.xml      |    49 +
 .../solr/collection1/conf/solrconfig-leader1.xml   |    68 +
 .../solr/collection1/conf/solrconfig-leader2.xml   |    66 +
 .../solr/collection1/conf/solrconfig-leader3.xml   |    67 +
 .../solr/collection1/conf/solrconfig-master.xml    |    70 -
 .../conf/solrconfig-master1-keepOneBackup.xml      |    49 -
 .../solr/collection1/conf/solrconfig-master1.xml   |    68 -
 .../solr/collection1/conf/solrconfig-master2.xml   |    66 -
 .../solr/collection1/conf/solrconfig-master3.xml   |    67 -
 .../conf/solrconfig-memory-circuitbreaker.xml      |    95 +
 .../solr/collection1/conf/solrconfig-repeater.xml  |     6 +-
 .../conf/solrconfig-replication-legacy.xml         |    62 +
 .../solr/collection1/conf/solrconfig-slave.xml     |    59 -
 .../solr/collection1/conf/solrconfig-tlog.xml      |     4 -
 .../conf/solrconfig.snippet.randomindexconfig.xml  |     1 +
 .../configsets/{xcjf => ccjoin}/conf/schema.xml    |     0
 .../solr/configsets/ccjoin/conf/solrconfig.xml     |    62 +
 .../solr/configsets/xcjf/conf/solrconfig.xml       |    72 -
 .../security/hadoop_kerberos_authz_config.json     |    37 +
 .../solr/simSnapshot/autoscalingState.json         |  3923 ------
 .../test-files/solr/simSnapshot/clusterState.json  |  2854 ----
 .../test-files/solr/simSnapshot/distribState.json  |   206 -
 .../test-files/solr/simSnapshot/managerState.json  |     1 -
 .../src/test-files/solr/simSnapshot/nodeState.json |  3823 ------
 .../test-files/solr/simSnapshot/statistics.json    |  2045 ---
 solr/core/src/test-files/solr/solr-50-all.xml      |     1 +
 solr/core/src/test-files/solr/solr-jmxreporter.xml |     1 -
 .../core/src/test-files/solr/solr-solrreporter.xml |     7 +-
 .../test-files/solr/solr-trackingshardhandler.xml  |     1 -
 solr/core/src/test-files/solr/solr.xml             |     2 +-
 .../src/test/org/apache/hadoop/fs/FileUtil.java    |    33 +-
 .../datanode/fsdataset/impl/BlockPoolSlice.java    |    50 +-
 .../test/org/apache/hadoop/http/HttpServer2.java   |    55 +-
 .../test/org/apache/hadoop/util/DiskChecker.java   |     4 +-
 .../org/apache/solr/BasicFunctionalityTest.java    |    12 +-
 .../src/test/org/apache/solr/CursorPagingTest.java |     8 +
 .../apache/solr/HelloWorldSolrCloudTestCase.java   |     4 +-
 .../src/test/org/apache/solr/OutputWriterTest.java |     2 +-
 .../src/test/org/apache/solr/SolrInfoBeanTest.java |     6 +-
 .../test/org/apache/solr/TestCrossCoreJoin.java    |     4 +-
 .../org/apache/solr/TestDistributedGrouping.java   |     3 +
 .../org/apache/solr/TestDistributedSearch.java     |    46 +-
 .../test/org/apache/solr/TestGroupingSearch.java   |   207 +-
 solr/core/src/test/org/apache/solr/TestJoin.java   |    38 +-
 .../test/org/apache/solr/TestRandomDVFaceting.java |    10 +-
 .../test/org/apache/solr/TestRandomFaceting.java   |    22 +-
 .../org/apache/solr/TestSolrCoreProperties.java    |     1 +
 .../solr/analysis/TestDeprecatedFilters.java       |     2 +-
 .../apache/solr/analysis/TokenizerChainTest.java   |     1 +
 .../TestEmbeddedSolrServerAdminHandler.java        |    15 +-
 .../TestEmbeddedSolrServerConstructors.java        |     5 +-
 .../test/org/apache/solr/cloud/AddReplicaTest.java |    12 +-
 .../apache/solr/cloud/AliasIntegrationTest.java    |     2 +-
 .../cloud/AssignBackwardCompatibilityTest.java     |     5 +-
 .../apache/solr/cloud/BasicDistributedZk2Test.java |     8 +-
 .../apache/solr/cloud/BasicDistributedZkTest.java  |    18 +-
 .../test/org/apache/solr/cloud/BasicZkTest.java    |   181 -
 .../solr/cloud/ChaosMonkeyNothingIsSafeTest.java   |     8 +-
 ...aosMonkeyNothingIsSafeWithPullReplicasTest.java |    11 +-
 .../solr/cloud/ChaosMonkeySafeLeaderTest.java      |     6 +-
 .../ChaosMonkeySafeLeaderWithPullReplicasTest.java |    15 +-
 .../solr/cloud/ChaosMonkeyShardSplitTest.java      |    22 +-
 .../test/org/apache/solr/cloud/CloudTestUtils.java |   189 -
 .../apache/solr/cloud/ClusterStateMockUtil.java    |    13 +-
 .../org/apache/solr/cloud/ClusterStateTest.java    |     8 +-
 .../org/apache/solr/cloud/CollectionPropsTest.java |     9 +-
 .../solr/cloud/CollectionStateFormat2Test.java     |    71 -
 .../solr/cloud/CollectionStateZnodeTest.java       |    70 +
 .../apache/solr/cloud/CollectionsAPISolrJTest.java |    50 +-
 .../org/apache/solr/cloud/ConfigSetsAPITest.java   |     1 +
 .../apache/solr/cloud/ConnectionManagerTest.java   |     4 +-
 .../apache/solr/cloud/CreateRoutedAliasTest.java   |     4 -
 .../solr/cloud/DeleteInactiveReplicaTest.java      |     8 +-
 .../cloud/DeleteLastCustomShardedReplicaTest.java  |     1 -
 .../test/org/apache/solr/cloud/DeleteNodeTest.java |     8 +-
 .../org/apache/solr/cloud/DeleteReplicaTest.java   |    38 +-
 .../org/apache/solr/cloud/DeleteShardTest.java     |     1 -
 .../apache/solr/cloud/DistribCursorPagingTest.java |     1 +
 .../DistribDocExpirationUpdateProcessorTest.java   |     5 +-
 .../solr/cloud/DistribJoinFromCollectionTest.java  |     8 +-
 .../apache/solr/cloud/DistributedQueueTest.java    |     4 +-
 .../solr/cloud/DistributedVersionInfoTest.java     |     8 +-
 .../apache/solr/cloud/DocValuesNotIndexedTest.java |     1 -
 .../org/apache/solr/cloud/ForceLeaderTest.java     |    26 +-
 .../solr/cloud/FullSolrCloudDistribCmdsTest.java   |     6 +-
 .../cloud/FullThrottleStoppableIndexingThread.java |     2 +-
 .../apache/solr/cloud/HealthCheckHandlerTest.java  |   179 -
 .../solr/cloud/HttpPartitionOnCommitTest.java      |    37 +-
 .../org/apache/solr/cloud/HttpPartitionTest.java   |    45 +-
 .../apache/solr/cloud/KerberosTestServices.java    |     6 +-
 .../solr/cloud/LeaderElectionContextKeyTest.java   |     1 -
 .../solr/cloud/LeaderElectionIntegrationTest.java  |     2 +-
 .../org/apache/solr/cloud/LeaderElectionTest.java  |     8 +-
 .../cloud/LeaderFailoverAfterPartitionTest.java    |     6 +-
 .../cloud/LeaderFailureAfterFreshStartTest.java    |     8 +-
 .../apache/solr/cloud/LeaderTragicEventTest.java   |    17 +-
 .../solr/cloud/LeaderVoteWaitTimeoutTest.java      |     6 +-
 .../solr/cloud/LegacyCloudClusterPropTest.java     |   180 -
 .../solr/cloud/MetricsHistoryIntegrationTest.java  |    28 +-
 .../org/apache/solr/cloud/MigrateRouteKeyTest.java |    14 +-
 .../solr/cloud/MissingSegmentRecoveryTest.java     |     1 -
 .../apache/solr/cloud/MockSimpleZkController.java  |     5 +-
 .../test/org/apache/solr/cloud/MockSolrSource.java |     2 +-
 .../solr/cloud/MoveReplicaHDFSFailoverTest.java    |     4 +
 .../org/apache/solr/cloud/MoveReplicaHDFSTest.java |     4 +
 .../org/apache/solr/cloud/MoveReplicaTest.java     |    21 +-
 .../solr/cloud/MultiSolrCloudTestCaseTest.java     |     6 +-
 .../apache/solr/cloud/MultiThreadedOCPTest.java    |    71 +-
 .../solr/cloud/NestedShardedAtomicUpdateTest.java  |     4 +
 .../org/apache/solr/cloud/NodeMutatorTest.java     |     6 +-
 .../OutOfBoxZkACLAndCredentialsProvidersTest.java  |    12 +-
 ...OverriddenZkACLAndCredentialsProvidersTest.java |    10 +-
 .../OverseerCollectionConfigSetProcessorTest.java  |    94 +-
 .../solr/cloud/OverseerModifyCollectionTest.java   |     1 +
 .../org/apache/solr/cloud/OverseerRolesTest.java   |    10 +-
 .../org/apache/solr/cloud/OverseerStatusTest.java  |     5 +-
 .../apache/solr/cloud/OverseerTaskQueueTest.java   |     1 +
 .../test/org/apache/solr/cloud/OverseerTest.java   |   199 +-
 .../apache/solr/cloud/PeerSyncReplicationTest.java |    14 +-
 .../test/org/apache/solr/cloud/RecoveryZkTest.java |     1 -
 .../apache/solr/cloud/ReindexCollectionTest.java   |     3 +-
 .../apache/solr/cloud/ReplaceNodeNoTargetTest.java |   122 -
 .../org/apache/solr/cloud/ReplaceNodeTest.java     |    12 +-
 .../apache/solr/cloud/ReplicationFactorTest.java   |    25 +-
 .../solr/cloud/RestartWhileUpdatingTest.java       |     5 +-
 .../org/apache/solr/cloud/RollingRestartTest.java  |    12 +-
 .../test/org/apache/solr/cloud/RouteFieldTest.java |   163 +
 .../cloud/RoutingToNodesWithPropertiesTest.java    |   241 -
 .../org/apache/solr/cloud/SSLMigrationTest.java    |     3 +-
 .../apache/solr/cloud/SaslZkACLProviderTest.java   |    14 +-
 .../apache/solr/cloud/ShardRoutingCustomTest.java  |     3 -
 .../cloud/SharedFSAutoReplicaFailoverTest.java     |    32 +-
 .../test/org/apache/solr/cloud/SliceStateTest.java |     4 +-
 .../apache/solr/cloud/SolrCloudExampleTest.java    |    23 +-
 .../org/apache/solr/cloud/SolrXmlInZkTest.java     |     8 +-
 .../test/org/apache/solr/cloud/SplitShardTest.java |    15 +-
 .../test/org/apache/solr/cloud/SyncSliceTest.java  |     7 +-
 .../solr/cloud/SystemCollectionCompatTest.java     |    16 +-
 .../solr/cloud/TestAuthenticationFramework.java    |    19 +-
 .../apache/solr/cloud/TestBaseStatsCacheCloud.java |     2 +-
 .../apache/solr/cloud/TestCloudConsistency.java    |     6 +-
 .../TestCloudPhrasesIdentificationComponent.java   |     4 +
 .../org/apache/solr/cloud/TestCloudPivotFacet.java |     7 +-
 .../org/apache/solr/cloud/TestCloudRecovery.java   |     1 -
 .../org/apache/solr/cloud/TestCloudRecovery2.java  |     1 -
 .../solr/cloud/TestCloudSearcherWarming.java       |    22 +-
 .../apache/solr/cloud/TestClusterProperties.java   |    12 -
 .../org/apache/solr/cloud/TestConfigSetsAPI.java   |    41 +-
 .../solr/cloud/TestConfigSetsAPIExclusivity.java   |     4 +
 .../solr/cloud/TestConfigSetsAPIZkFailure.java     |    30 +-
 .../test/org/apache/solr/cloud/TestCryptoKeys.java |   208 -
 .../cloud/TestDeleteCollectionOnDownNodes.java     |     1 -
 .../cloud/TestDynamicFieldNamesIndexCorrectly.java |     9 +-
 .../org/apache/solr/cloud/TestHashPartitioner.java |     1 +
 .../org/apache/solr/cloud/TestLazySolrCluster.java |    97 +
 .../solr/cloud/TestLeaderElectionZkExpiry.java     |    13 +-
 .../solr/cloud/TestMiniSolrCloudClusterSSL.java    |    16 +-
 .../solr/cloud/TestOnReconnectListenerSupport.java |     5 +-
 .../org/apache/solr/cloud/TestPullReplica.java     |    32 +-
 .../solr/cloud/TestPullReplicaErrorHandling.java   |    22 +-
 .../solr/cloud/TestQueryingOnDownCollection.java   |     2 +
 .../solr/cloud/TestRandomRequestDistribution.java  |    13 +-
 .../apache/solr/cloud/TestRebalanceLeaders.java    |     2 +-
 .../apache/solr/cloud/TestRequestForwarding.java   |     1 -
 .../apache/solr/cloud/TestSSLRandomization.java    |    12 +-
 .../solr/cloud/TestSkipOverseerOperations.java     |     1 -
 .../cloud/TestSolrCloudWithDelegationTokens.java   |    50 +-
 .../solr/cloud/TestSolrCloudWithKerberosAlt.java   |    12 +-
 .../TestSolrCloudWithSecureImpersonation.java      |    21 +-
 .../cloud/TestStressCloudBlindAtomicUpdates.java   |    23 +-
 .../solr/cloud/TestStressInPlaceUpdates.java       |    19 +-
 .../org/apache/solr/cloud/TestStressLiveNodes.java |    12 +-
 .../solr/cloud/TestTlogReplayVsRecovery.java       |     4 +-
 .../org/apache/solr/cloud/TestTlogReplica.java     |   100 +-
 .../TestTolerantUpdateProcessorRandomCloud.java    |    10 +-
 .../org/apache/solr/cloud/TestUtilizeNode.java     |   181 -
 .../cloud/TestWaitForStateWithJettyShutdowns.java  |    10 +-
 .../org/apache/solr/cloud/TestWithCollection.java  |   605 -
 .../test/org/apache/solr/cloud/TestZkChroot.java   |   169 -
 .../cloud/TlogReplayBufferedWhileIndexingTest.java |     5 +-
 .../apache/solr/cloud/UnloadDistributedZkTest.java |     8 +-
 .../VMParamsZkACLAndCredentialsProvidersTest.java  |    10 +-
 .../src/test/org/apache/solr/cloud/ZkCLITest.java  |    10 +-
 .../org/apache/solr/cloud/ZkControllerTest.java    |    42 +-
 .../org/apache/solr/cloud/ZkNodePropsTest.java     |     4 +-
 .../org/apache/solr/cloud/ZkShardTermsTest.java    |     1 -
 .../org/apache/solr/cloud/ZkSolrClientTest.java    |    12 +-
 .../AbstractCloudBackupRestoreTestCase.java        |    59 +-
 .../solr/cloud/api/collections/AssignTest.java     |   203 -
 .../AsyncCallRequestStatusResponseTest.java        |     1 -
 .../api/collections/CollectionReloadTest.java      |     4 +-
 .../collections/CollectionTooManyReplicasTest.java |    68 +-
 .../CollectionsAPIAsyncDistributedZkTest.java      |    28 +-
 .../CollectionsAPIDistributedZkTest.java           |    50 +-
 .../ConcurrentCreateCollectionTest.java            |   293 -
 .../api/collections/CustomCollectionTest.java      |     8 -
 .../HdfsCollectionsAPIDistributedZkTest.java       |     4 +
 .../solr/cloud/api/collections/ShardSplitTest.java |   112 +-
 .../SimpleCollectionCreateDeleteTest.java          |     7 +-
 .../cloud/api/collections/SplitByPrefixTest.java   |     3 +-
 .../cloud/api/collections/TestCollectionAPI.java   |   136 +-
 .../TestCollectionsAPIViaSolrCloudCluster.java     |     7 +-
 .../collections/TestHdfsCloudBackupRestore.java    |     5 +
 .../collections/TestLocalFSCloudBackupRestore.java |     3 +-
 .../api/collections/TestReplicaProperties.java     |     6 +-
 .../TestRequestStatusCollectionAPI.java            |     5 +-
 .../AutoAddReplicasIntegrationTest.java            |   435 -
 .../autoscaling/AutoAddReplicasPlanActionTest.java |   258 -
 .../cloud/autoscaling/AutoScalingHandlerTest.java  |  1089 --
 .../solr/cloud/autoscaling/CapturedEvent.java      |    65 -
 .../cloud/autoscaling/ComputePlanActionTest.java   |   735 --
 .../cloud/autoscaling/ExecutePlanActionTest.java   |   380 -
 .../HdfsAutoAddReplicasIntegrationTest.java        |    57 -
 .../cloud/autoscaling/HttpTriggerListenerTest.java |   207 -
 .../IndexSizeTriggerMixedBoundsTest.java           |   372 -
 .../IndexSizeTriggerSizeEstimationTest.java        |   320 -
 .../cloud/autoscaling/IndexSizeTriggerTest.java    |   759 --
 .../autoscaling/MetricTriggerIntegrationTest.java  |   241 -
 .../solr/cloud/autoscaling/MetricTriggerTest.java  |   136 -
 .../NodeAddedTriggerIntegrationTest.java           |   316 -
 .../cloud/autoscaling/NodeAddedTriggerTest.java    |   342 -
 .../NodeLostTriggerIntegrationTest.java            |   352 -
 .../cloud/autoscaling/NodeLostTriggerTest.java     |   391 -
 .../autoscaling/NodeMarkersRegistrationTest.java   |   354 -
 .../cloud/autoscaling/RestoreTriggerStateTest.java |   166 -
 .../ScheduledMaintenanceTriggerTest.java           |   379 -
 .../ScheduledTriggerIntegrationTest.java           |   148 -
 .../cloud/autoscaling/ScheduledTriggerTest.java    |   141 -
 .../SearchRateTriggerIntegrationTest.java          |   742 --
 .../cloud/autoscaling/SearchRateTriggerTest.java   |   357 -
 .../cloud/autoscaling/SystemLogListenerTest.java   |   289 -
 .../solr/cloud/autoscaling/TestPolicyCloud.java    |   532 -
 .../TriggerCooldownIntegrationTest.java            |   227 -
 .../cloud/autoscaling/TriggerEventQueueTest.java   |    98 -
 .../cloud/autoscaling/TriggerIntegrationTest.java  |   713 -
 .../TriggerSetPropertiesIntegrationTest.java       |   259 -
 .../autoscaling/sim/SimSolrCloudTestCase.java      |   253 -
 .../sim/TestSimClusterStateProvider.java           |   228 -
 .../autoscaling/sim/TestSimComputePlanAction.java  |   378 -
 .../sim/TestSimDistribStateManager.java            |   378 -
 .../autoscaling/sim/TestSimDistributedQueue.java   |   221 -
 .../autoscaling/sim/TestSimExecutePlanAction.java  |   217 -
 .../autoscaling/sim/TestSimExtremeIndexing.java    |   144 -
 .../sim/TestSimGenericDistributedQueue.java        |    38 -
 .../cloud/autoscaling/sim/TestSimLargeCluster.java |   842 --
 .../autoscaling/sim/TestSimNodeAddedTrigger.java   |   329 -
 .../autoscaling/sim/TestSimNodeLostTrigger.java    |   347 -
 .../cloud/autoscaling/sim/TestSimPolicyCloud.java  |   376 -
 .../cloud/autoscaling/sim/TestSimScenario.java     |   166 -
 .../autoscaling/sim/TestSimTriggerIntegration.java |  1536 ---
 .../solr/cloud/autoscaling/sim/TestSimUtils.java   |    95 -
 .../autoscaling/sim/TestSnapshotCloudManager.java  |   266 -
 .../solr/cloud/cdcr/BaseCdcrDistributedZkTest.java |    28 +-
 .../solr/cloud/cdcr/CdcrBidirectionalTest.java     |    34 +-
 .../apache/solr/cloud/cdcr/CdcrBootstrapTest.java  |    31 +-
 .../solr/cloud/cdcr/CdcrOpsAndBoundariesTest.java  |     5 +-
 .../cloud/cdcr/CdcrReplicationHandlerTest.java     |    96 +-
 .../solr/cloud/cdcr/CdcrRequestHandlerTest.java    |     5 +
 .../org/apache/solr/cloud/cdcr/CdcrTestsUtil.java  |     6 +-
 .../cloud/cdcr/CdcrVersionReplicationTest.java     |     2 +-
 .../solr/cloud/hdfs/HDFSCollectionsAPITest.java    |     4 +
 .../cloud/hdfs/HdfsBasicDistributedZk2Test.java    |     4 +
 .../cloud/hdfs/HdfsBasicDistributedZkTest.java     |     4 +
 .../hdfs/HdfsChaosMonkeyNothingIsSafeTest.java     |     4 +
 .../cloud/hdfs/HdfsChaosMonkeySafeLeaderTest.java  |     4 +
 .../apache/solr/cloud/hdfs/HdfsNNFailoverTest.java |     6 +-
 .../solr/cloud/hdfs/HdfsRecoverLeaseTest.java      |     4 +
 .../apache/solr/cloud/hdfs/HdfsRecoveryZkTest.java |     4 +
 .../cloud/hdfs/HdfsRestartWhileUpdatingTest.java   |     4 +
 .../apache/solr/cloud/hdfs/HdfsSyncSliceTest.java  |     6 +-
 .../apache/solr/cloud/hdfs/HdfsThreadLeakTest.java |     4 +
 .../HdfsTlogReplayBufferedWhileIndexingTest.java   |     4 +
 .../cloud/hdfs/HdfsUnloadDistributedZkTest.java    |     4 +
 .../hdfs/HdfsWriteToMultipleCollectionsTest.java   |     6 +-
 .../org/apache/solr/cloud/hdfs/StressHdfsTest.java |    13 +-
 .../cloud/overseer/TestClusterStateMutator.java    |     9 +-
 .../overseer/ZkCollectionPropsCachingTest.java     |     4 -
 .../solr/cloud/overseer/ZkStateReaderTest.java     |   111 +-
 .../solr/cloud/overseer/ZkStateWriterTest.java     |   150 +-
 .../apache/solr/cloud/rule/ImplicitSnitchTest.java |     3 +
 .../org/apache/solr/cloud/rule/RuleEngineTest.java |    14 +-
 .../test/org/apache/solr/cloud/rule/RulesTest.java |    78 +-
 .../solr/common/cloud/ZkDynamicConfigTest.java     |    69 +
 .../solr/core/BlobRepositoryMockingTest.java       |    10 +-
 .../test/org/apache/solr/core/CoreSorterTest.java  |   310 +-
 .../solr/core/CountUsageValueSourceParser.java     |     3 +-
 .../org/apache/solr/core/DirectoryFactoryTest.java |     9 +-
 .../apache/solr/core/DummyValueSourceParser.java   |     3 +-
 .../solr/core/ExitableDirectoryReaderTest.java     |     6 +
 .../org/apache/solr/core/FakeDeletionPolicy.java   |     6 +-
 .../apache/solr/core/HdfsDirectoryFactoryTest.java |     5 +
 .../src/test/org/apache/solr/core/HelloStream.java |    10 +-
 .../org/apache/solr/core/MockEventListener.java    |     2 +-
 .../core/MockQuerySenderListenerReqHandler.java    |     2 +-
 .../apache/solr/core/MockShardHandlerFactory.java  |     1 +
 .../org/apache/solr/core/QueryResultKeyTest.java   |    16 +-
 .../org/apache/solr/core/RequestHandlersTest.java  |     1 +
 .../org/apache/solr/core/ResourceLoaderTest.java   |    17 +-
 .../solr/core/SolrCoreCheckLockOnStartupTest.java  |     6 +-
 .../test/org/apache/solr/core/SolrCoreTest.java    |     8 +-
 .../org/apache/solr/core/TestCodecSupport.java     |     2 +-
 .../src/test/org/apache/solr/core/TestConfig.java  |    40 +-
 .../org/apache/solr/core/TestConfigOverlay.java    |     3 +
 .../apache/solr/core/TestConfigSetImmutable.java   |     3 +
 .../apache/solr/core/TestConfigSetProperties.java  |     4 +
 .../test/org/apache/solr/core/TestConfigSets.java  |    30 +-
 .../org/apache/solr/core/TestCoreContainer.java    |   104 +-
 .../org/apache/solr/core/TestCoreDiscovery.java    |    14 +-
 .../org/apache/solr/core/TestDirectoryFactory.java |     2 +-
 .../org/apache/solr/core/TestDynamicLoading.java   |   287 -
 .../apache/solr/core/TestDynamicLoadingUrl.java    |   127 -
 .../test/org/apache/solr/core/TestDynamicURP.java  |   111 -
 .../test/org/apache/solr/core/TestInitParams.java  |    12 +-
 .../org/apache/solr/core/TestJmxIntegration.java   |    13 +-
 .../test/org/apache/solr/core/TestLazyCores.java   |    78 +-
 .../apache/solr/core/TestShardHandlerFactory.java  |     1 +
 .../apache/solr/core/TestSolrConfigHandler.java    |    71 +-
 .../src/test/org/apache/solr/core/TestSolrXml.java |   130 +-
 .../repository/HdfsBackupRepositoryTest.java       |    94 +-
 .../core/snapshots/TestSolrCloudSnapshots.java     |    20 +-
 .../solr/core/snapshots/TestSolrCoreSnapshots.java |    31 +-
 .../solr/filestore/TestDistribPackageStore.java    |    80 +-
 .../handler/AnalysisRequestHandlerTestBase.java    |     2 +-
 .../apache/solr/handler/BackupRestoreUtils.java    |    20 +-
 .../apache/solr/handler/BackupStatusChecker.java   |     4 +
 .../handler/BinaryUpdateRequestHandlerTest.java    |    30 +-
 .../DocumentAnalysisRequestHandlerTest.java        |     2 +
 .../handler/FieldAnalysisRequestHandlerTest.java   |    32 +-
 .../org/apache/solr/handler/JsonLoaderTest.java    |     4 +
 .../solr/handler/MoreLikeThisHandlerTest.java      |    11 +-
 .../solr/handler/PingRequestHandlerTest.java       |     3 +
 .../org/apache/solr/handler/TestBlobHandler.java   |     1 +
 .../org/apache/solr/handler/TestConfigReload.java  |     9 +-
 .../apache/solr/handler/TestContainerPlugin.java   |   377 +
 .../org/apache/solr/handler/TestCoreBackup.java    |    46 +-
 .../solr/handler/TestHdfsBackupRestoreCore.java    |    18 +-
 .../solr/handler/TestReplicationHandler.java       |  1299 +-
 .../solr/handler/TestReplicationHandlerBackup.java |    74 +-
 .../TestReplicationHandlerDiskOverFlow.java        |    83 +-
 .../org/apache/solr/handler/TestReqParamsAPI.java  |     2 +
 .../org/apache/solr/handler/TestRestoreCore.java   |    83 +-
 .../org/apache/solr/handler/TestSQLHandler.java    |     6 +-
 .../solr/handler/TestSolrConfigHandlerCloud.java   |     4 +-
 .../handler/TestSolrConfigHandlerConcurrent.java   |    14 +-
 .../solr/handler/TestStressThreadBackup.java       |    13 +
 .../handler/ThrowErrorOnInitRequestHandler.java    |     2 +-
 .../apache/solr/handler/V2ApiIntegrationTest.java  |    31 +-
 .../org/apache/solr/handler/V2StandaloneTest.java  |     2 +
 .../solr/handler/XsltUpdateRequestHandlerTest.java |     7 +-
 .../admin/AutoscalingHistoryHandlerTest.java       |   461 -
 .../handler/admin/CoreAdminCreateDiscoverTest.java |     2 +
 .../solr/handler/admin/CoreAdminHandlerTest.java   |     7 +-
 .../handler/admin/CoreAdminRequestStatusTest.java  |     2 +
 .../admin/CoreMergeIndexesAdminHandlerTest.java    |    13 +-
 .../solr/handler/admin/DaemonStreamApiTest.java    |     3 -
 .../solr/handler/admin/HealthCheckHandlerTest.java |   237 +
 .../solr/handler/admin/IndexSizeEstimatorTest.java |    12 +-
 .../solr/handler/admin/LukeRequestHandlerTest.java |    15 +
 .../solr/handler/admin/MBeansHandlerTest.java      |     2 +
 .../solr/handler/admin/MetricsHandlerTest.java     |    18 +
 .../handler/admin/MetricsHistoryHandlerTest.java   |    45 +-
 .../admin/PropertiesRequestHandlerTest.java        |     1 +
 .../handler/admin/SecurityConfHandlerTest.java     |     7 +-
 .../admin/SegmentsInfoRequestHandlerTest.java      |    16 +-
 .../solr/handler/admin/StatsReloadRaceTest.java    |     2 +
 .../solr/handler/admin/TestApiFramework.java       |    82 +-
 .../solr/handler/admin/TestCollectionAPIs.java     |    28 +-
 .../apache/solr/handler/admin/TestConfigsApi.java  |    20 +-
 .../solr/handler/admin/TestCoreAdminApis.java      |    12 +-
 .../solr/handler/admin/ThreadDumpHandlerTest.java  |   239 +
 .../solr/handler/admin/ZookeeperReadAPITest.java   |   101 +
 .../handler/admin/ZookeeperStatusHandlerTest.java  |    72 +-
 .../component/CustomHighlightComponentTest.java    |    25 +-
 .../component/CustomTermsComponentTest.java        |     2 +-
 .../solr/handler/component/DebugComponentTest.java |    40 +-
 .../component/DistributedDebugComponentTest.java   |     8 +-
 .../component/DistributedExpandComponentTest.java  |    49 +
 .../component/DistributedFacetPivotLargeTest.java  |     3 +-
 .../DistributedFacetPivotLongTailTest.java         |     2 +
 .../component/DistributedFacetPivotSmallTest.java  |    26 +-
 .../component/DistributedMLTComponentTest.java     |     2 +-
 .../DistributedQueryComponentOptimizationTest.java |     2 +-
 .../handler/component/InfixSuggestersTest.java     |     2 +
 .../PhrasesIdentificationComponentTest.java        |     4 +
 .../component/QueryElevationComponentTest.java     |    75 +-
 .../component/ResourceSharingTestComponent.java    |     4 +-
 .../solr/handler/component/SearchHandlerTest.java  |    74 +-
 .../handler/component/ShardsWhitelistTest.java     |     6 +-
 .../handler/component/SpellCheckComponentTest.java |     7 +-
 .../solr/handler/component/StatsComponentTest.java |   115 +-
 .../solr/handler/component/TermsComponentTest.java |    13 +-
 .../handler/component/TestExpandComponent.java     |    96 +
 .../component/TestHttpShardHandlerFactory.java     |     4 +-
 .../component/TestTrackingShardHandlerFactory.java |     4 +-
 .../solr/handler/export/TestExportWriter.java      |    80 +-
 .../org/apache/solr/handler/tagger/TaggerTest.java |    22 +-
 .../apache/solr/handler/tagger/TaggerTestCase.java |    11 +-
 .../tagger/WordLengthTaggingFilterFactory.java     |     5 +
 .../apache/solr/highlight/DummyHighlighter.java    |     1 +
 .../org/apache/solr/highlight/HighlighterTest.java |    20 +-
 .../solr/highlight/TestUnifiedSolrHighlighter.java |    16 +-
 .../apache/solr/index/hdfs/CheckHdfsIndexTest.java |     6 +
 .../org/apache/solr/logging/TestLogWatcher.java    |     1 +
 .../org/apache/solr/metrics/JvmMetricsTest.java    |     8 +-
 .../org/apache/solr/metrics/MetricsConfigTest.java |    13 +-
 .../apache/solr/metrics/SolrMetricManagerTest.java |    11 +-
 .../solr/metrics/SolrMetricsIntegrationTest.java   |     7 +-
 .../reporters/SolrGraphiteReporterTest.java        |     5 +-
 .../reporters/SolrJmxReporterCloudTest.java        |     7 +-
 .../metrics/reporters/SolrSlf4jReporterTest.java   |     4 +-
 .../reporters/solr/SolrCloudReportersTest.java     |     6 +-
 .../reporters/solr/SolrShardReporterTest.java      |    12 +
 .../solr/parser/SolrQueryParserBaseTest.java       |   137 +
 .../src/test/org/apache/solr/pkg/TestPackages.java |   318 +-
 .../org/apache/solr/request/SimpleFacetsTest.java  |     3 +-
 .../test/org/apache/solr/request/TestFaceting.java |    25 +
 .../apache/solr/request/TestIntervalFaceting.java  |     2 +-
 .../org/apache/solr/request/TestWriterPerf.java    |     5 +-
 .../solr/request/macro/TestMacroExpander.java      |     2 +
 .../org/apache/solr/response/JSONWriterTest.java   |    10 +-
 .../org/apache/solr/response/SmileWriterTest.java  |    11 +
 .../solr/response/TestBinaryResponseWriter.java    |     2 +
 .../solr/response/TestGeoJSONResponseWriter.java   |     4 +
 .../solr/response/TestGraphMLResponseWriter.java   |    22 +-
 .../response/TestJavabinTupleStreamParser.java     |     7 +-
 .../response/TestPHPSerializedResponseWriter.java  |     2 +-
 .../org/apache/solr/response/TestPushWriter.java   |    65 +-
 .../solr/response/TestRawResponseWriter.java       |     2 +
 .../solr/response/TestRetrieveFieldsOptimizer.java |     3 +
 .../solr/response/TestSolrQueryResponse.java       |     1 +
 .../transform/TestChildDocTransformer.java         |    28 +-
 .../TestChildDocTransformerHierarchy.java          |     1 +
 .../apache/solr/rest/schema/TestBulkSchemaAPI.java |    40 +-
 .../apache/solr/schema/ChangedSchemaMergeTest.java |     6 +-
 .../apache/solr/schema/CurrencyFieldTypeTest.java  |    94 +-
 .../test/org/apache/solr/schema/DateFieldTest.java |     2 +-
 .../test/org/apache/solr/schema/DocValuesTest.java |     4 +-
 .../schema/ManagedSchemaRoundRobinCloudTest.java   |     1 -
 .../schema/OpenExchangeRatesOrgProviderTest.java   |     2 +-
 .../PreAnalyzedFieldManagedSchemaCloudTest.java    |     1 -
 .../apache/solr/schema/PrimitiveFieldTypeTest.java |     2 +-
 .../test/org/apache/solr/schema/RankFieldTest.java |   285 +
 .../solr/schema/ResolveAnalyzerByNameTest.java     |     7 +
 .../apache/solr/schema/SchemaApiFailureTest.java   |     5 +-
 .../solr/schema/SpatialRPTFieldTypeTest.java       |     2 +
 .../solr/schema/TestBulkSchemaConcurrent.java      |    23 +-
 .../apache/solr/schema/TestCloudManagedSchema.java |     3 +
 .../org/apache/solr/schema/TestManagedSchema.java  |     3 +
 .../apache/solr/schema/TestManagedSchemaAPI.java   |     2 +-
 .../solr/schema/TestManagedSchemaThreadSafety.java |     5 +-
 .../org/apache/solr/schema/TestPointFields.java    |     1 +
 .../apache/solr/schema/TestSortableTextField.java  |     6 +-
 .../solr/schema/TestUseDocValuesAsStored2.java     |     1 +
 .../apache/solr/schema/WrappedIntPointField.java   |    20 +-
 .../apache/solr/schema/WrappedTrieIntField.java    |     1 +
 .../solr/search/AnalyticsMergeStrategyTest.java    |     4 +
 .../solr/search/AnalyticsTestQParserPlugin.java    |    11 +
 .../solr/search/CurrencyRangeFacetCloudTest.java   |    93 +-
 .../org/apache/solr/search/LargeFieldTest.java     |     1 +
 .../apache/solr/search/MaxScoreCollectorTest.java  |    91 +
 .../org/apache/solr/search/MergeStrategyTest.java  |     1 +
 .../apache/solr/search/MockSearchComponent.java    |     2 +-
 .../org/apache/solr/search/QueryEqualityTest.java  |    28 +-
 .../apache/solr/search/RankQParserPluginTest.java  |   258 +
 .../apache/solr/search/RankQueryTestPlugin.java    |    25 +-
 .../apache/solr/search/SolrIndexSearcherTest.java  |   330 +
 .../solr/search/TestAddFieldRealTimeGet.java       |     8 +-
 .../solr/search/TestCollapseQParserPlugin.java     |   100 +-
 .../test/org/apache/solr/search/TestDocSet.java    |     3 +-
 .../solr/search/TestExtendedDismaxParser.java      |    60 +-
 .../apache/solr/search/TestHashQParserPlugin.java  |    26 +-
 .../org/apache/solr/search/TestIndexSearcher.java  |     8 +-
 .../solr/search/TestMaxScoreQueryParser.java       |     1 +
 .../solr/search/TestReRankQParserPlugin.java       |    95 +
 .../org/apache/solr/search/TestRealTimeGet.java    |    20 +-
 .../test/org/apache/solr/search/TestRecovery.java  |    10 +
 .../org/apache/solr/search/TestRecoveryHdfs.java   |     9 +
 .../org/apache/solr/search/TestReloadDeadlock.java |     2 +-
 .../org/apache/solr/search/TestSmileRequest.java   |     2 +
 .../org/apache/solr/search/TestSolrCachePerf.java  |     3 +
 .../src/test/org/apache/solr/search/TestSolrJ.java |     2 +
 .../apache/solr/search/TestSolrQueryParser.java    |     1 +
 .../src/test/org/apache/solr/search/TestSort.java  |     5 +-
 .../org/apache/solr/search/TestStressRecovery.java |     2 +
 .../org/apache/solr/search/TestStressReorder.java  |     6 +-
 .../apache/solr/search/TestStressUserVersions.java |     8 +-
 .../org/apache/solr/search/TestStressVersions.java |     2 +
 .../apache/solr/search/TestTermsQParserPlugin.java |     6 +
 .../org/apache/solr/search/facet/DebugAgg.java     |    16 +-
 ...stributedFacetSimpleRefinementLongTailTest.java |    49 +-
 .../solr/search/facet/RangeFacetCloudTest.java     |    56 +-
 .../search/facet/SpatialHeatmapFacetsTest.java     |     5 +
 .../search/facet/TestCloudJSONFacetJoinDomain.java |    45 +-
 .../solr/search/facet/TestCloudJSONFacetSKG.java   |   342 +-
 .../search/facet/TestCloudJSONFacetSKGEquiv.java   |  1233 ++
 .../solr/search/facet/TestJsonFacetErrors.java     |   400 +
 .../solr/search/facet/TestJsonFacetRefinement.java |    97 +-
 .../apache/solr/search/facet/TestJsonFacets.java   |   828 +-
 .../search/facet/TestJsonFacetsStatsParsing.java   |     2 +
 .../facet/TestJsonFacetsWithNestedObjects.java     |    70 +-
 .../solr/search/facet/TestJsonRangeFacets.java     |   435 +
 .../solr/search/function/NvlValueSourceParser.java |     2 +-
 .../solr/search/function/TestFunctionQuery.java    |    32 +
 .../function/TestMinMaxOnMultiValuedField.java     |    13 +-
 .../search/join/CrossCollectionJoinQueryTest.java  |   280 +
 .../solr/search/join/TestCloudNestedDocsSort.java  |     4 +-
 .../solr/search/join/TestNestedDocsSort.java       |     1 +
 .../solr/search/join/TestScoreJoinQPNoScore.java   |    27 +-
 .../solr/search/join/TestScoreJoinQPScore.java     |    18 +-
 .../org/apache/solr/search/join/XCJFQueryTest.java |   280 -
 .../join/another/BJQFilterAccessibleTest.java      |     2 +-
 .../apache/solr/search/json/TestJsonRequest.java   |    70 +-
 .../solr/search/mlt/CloudMLTQParserTest.java       |     1 +
 .../similarities/TestBooleanSimilarityFactory.java |    39 +
 .../apache/solr/search/stats/TestDistribIDF.java   |     2 -
 .../solr/security/AuditLoggerIntegrationTest.java  |    20 +-
 .../BaseTestRuleBasedAuthorizationPlugin.java      |   617 +
 .../solr/security/BasicAuthIntegrationTest.java    |    20 +-
 .../solr/security/BasicAuthOnSingleNodeTest.java   |    45 +-
 .../solr/security/BasicAuthStandaloneTest.java     |     2 +-
 .../solr/security/CallbackAuditLoggerPlugin.java   |     4 +-
 .../apache/solr/security/CertAuthPluginTest.java   |    79 +
 .../security/HttpParamDelegationTokenPlugin.java   |     2 +-
 .../security/JWTAuthPluginIntegrationTest.java     |     6 +-
 .../apache/solr/security/JWTAuthPluginTest.java    |    22 +-
 .../security/JWTVerificationkeyResolverTest.java   |     4 +-
 .../solr/security/MockAuditLoggerPlugin.java       |     4 +-
 .../solr/security/MockAuthenticationPlugin.java    |    25 +-
 .../solr/security/MockAuthorizationPlugin.java     |     2 +-
 .../solr/security/PrincipalWithUserRoles.java      |    91 +
 .../solr/security/TestAuthorizationFramework.java  |     6 +-
 ...stExternalRoleRuleBasedAuthorizationPlugin.java |    78 +
 .../security/TestRuleBasedAuthorizationPlugin.java |   585 -
 .../security/TestSha256AuthenticationProvider.java |     4 +
 .../solr/security/hadoop/ImpersonationUtil.java    |     1 +
 .../apache/solr/security/hadoop/KerberosUtils.java |    93 +
 .../hadoop/TestDelegationWithHadoopAuth.java       |    16 +-
 .../hadoop/TestImpersonationWithHadoopAuth.java    |    13 +-
 .../TestRuleBasedAuthorizationWithKerberos.java    |    81 +
 .../hadoop/TestSolrCloudWithHadoopAuthPlugin.java  |    63 +-
 .../security/hadoop/TestZkAclsWithHadoopAuth.java  |     1 +
 .../solr/servlet/HttpSolrCallGetCoreTest.java      |     1 -
 .../apache/solr/servlet/SolrRequestParserTest.java |     2 +
 .../solr/servlet/TestRequestRateLimiter.java       |   235 +
 .../solr/spelling/DirectSolrSpellCheckerTest.java  |     3 +
 .../solr/spelling/FileBasedSpellCheckerTest.java   |     7 +
 .../solr/spelling/IndexBasedSpellCheckerTest.java  |     8 +
 .../solr/spelling/SpellCheckCollatorTest.java      |     9 +
 .../SpellCheckCollatorWithCollapseTest.java        |    37 +-
 .../solr/spelling/SpellingQueryConverterTest.java  |     6 +
 .../suggest/RandomTestDictionaryFactory.java       |     6 +-
 .../solr/spelling/suggest/SuggesterTest.java       |     2 +
 .../solr/store/blockcache/BlockCacheTest.java      |    16 +-
 .../apache/solr/store/hdfs/HdfsDirectoryTest.java  |     6 +-
 .../solr/store/hdfs/HdfsLockFactoryTest.java       |     4 +
 .../org/apache/solr/update/AddBlockUpdateTest.java |     6 +-
 .../org/apache/solr/update/CdcrUpdateLogTest.java  |     8 +
 .../solr/update/DirectUpdateHandlerTest.java       |    15 +-
 .../apache/solr/update/MaxSizeAutoCommitTest.java  |     2 +-
 .../solr/update/MockStreamingSolrClients.java      |     2 +-
 .../apache/solr/update/MockingHttp2SolrClient.java |    26 +-
 .../test/org/apache/solr/update/PeerSyncTest.java  |     1 +
 .../solr/update/PeerSyncWithBufferUpdatesTest.java |     1 +
 .../PeerSyncWithIndexFingerprintCachingTest.java   |     2 +
 ...ncWithLeaderAndIndexFingerprintCachingTest.java |     1 +
 .../apache/solr/update/PeerSyncWithLeaderTest.java |     1 +
 .../org/apache/solr/update/SoftAutoCommitTest.java |     2 +-
 .../apache/solr/update/SolrCmdDistributorTest.java |     2 +-
 .../apache/solr/update/SolrIndexConfigTest.java    |    31 +-
 .../apache/solr/update/SolrIndexSplitterTest.java  |     3 +
 .../org/apache/solr/update/TestHdfsUpdateLog.java  |     4 +
 .../update/TestInPlaceUpdateWithRouteField.java    |     1 -
 .../solr/update/TestInPlaceUpdatesDistrib.java     |    81 +-
 .../solr/update/TestInPlaceUpdatesStandalone.java  |     1 +
 .../solr/update/TestIndexingPerformance.java       |     8 +-
 .../solr/update/TestNestedUpdateProcessor.java     |     2 +
 .../test/org/apache/solr/update/TestUpdate.java    |     2 +-
 .../test/org/apache/solr/update/UpdateLogTest.java |     1 +
 .../processor/AtomicUpdateRemovalJavabinTest.java  |     2 -
 .../solr/update/processor/AtomicUpdatesTest.java   |    15 +-
 .../CategoryRoutedAliasUpdateProcessorTest.java    |    24 +-
 .../ClassificationUpdateProcessorFactoryTest.java  |     4 +
 ...assificationUpdateProcessorIntegrationTest.java |     2 -
 .../ClassificationUpdateProcessorTest.java         |     5 +
 .../CustomUpdateRequestProcessorFactory.java       |     3 +-
 .../DimensionalRoutedAliasUpdateProcessorTest.java |    12 +-
 .../IgnoreLargeDocumentProcessorFactoryTest.java   |     1 +
 .../update/processor/NestedAtomicUpdateTest.java   |     1 +
 .../processor/RoutedAliasUpdateProcessorTest.java  |     5 +-
 .../apache/solr/update/processor/RuntimeUrp.java   |    40 -
 .../SignatureUpdateProcessorFactoryTest.java       |     1 +
 .../SkipExistingDocumentsProcessorFactoryTest.java |     1 +
 .../processor/TestDocBasedVersionConstraints.java  |     4 +-
 .../processor/TestNamedUpdateProcessors.java       |   162 -
 .../TimeRoutedAliasUpdateProcessorTest.java        |    34 +-
 .../processor/TolerantUpdateProcessorTest.java     |     2 +-
 .../processor/TrackingUpdateProcessorFactory.java  |     2 +-
 .../update/processor/URLClassifyProcessorTest.java |     2 +
 .../UpdateRequestProcessorFactoryTest.java         |     2 +-
 .../test/org/apache/solr/util/DynamicMapsTest.java |    90 +
 .../org/apache/solr/util/MockCoreContainer.java    |     2 +-
 .../org/apache/solr/util/OrderedExecutorTest.java  |    28 +-
 .../org/apache/solr/util/SolrLogPostToolTest.java  |    62 +-
 .../org/apache/solr/util/SolrPluginUtilsTest.java  |     2 +-
 .../org/apache/solr/util/TestCircuitBreaker.java   |   243 +
 .../test/org/apache/solr/util/TestExportTool.java  |     2 -
 .../test/org/apache/solr/util/TestRTimerTree.java  |     3 +
 .../apache/solr/util/TestSolrCLIRunExample.java    |   132 +-
 .../solr/util/TestSolrJacksonAnnotation.java       |     2 +
 .../src/test/org/apache/solr/util/TestUtils.java   |    11 +-
 .../apache/solr/util/stats/MetricUtilsTest.java    |    10 +
 .../solr/util/tracing/TestHttpServletCarrier.java  |     2 +-
 solr/example/README.md                             |    95 +
 solr/example/README.txt                            |    78 -
 solr/example/build.gradle                          |     4 +-
 solr/example/example-DIH/README.md                 |    55 +
 solr/example/example-DIH/README.txt                |    49 -
 .../example-DIH/solr/db/conf/solrconfig.xml        |     4 +-
 .../example-DIH/solr/mail/conf/solrconfig.xml      |     4 +-
 .../example-DIH/solr/solr/conf/solrconfig.xml      |     4 +-
 solr/example/files/README.md                       |   167 +
 solr/example/files/README.txt                      |   152 -
 solr/example/files/conf/solrconfig.xml             |    42 +-
 solr/example/films/README.md                       |   161 +
 solr/example/films/README.txt                      |   138 -
 solr/licenses/caffeine-2.8.0.jar.sha1              |     1 -
 solr/licenses/caffeine-2.8.4.jar.sha1              |     1 +
 solr/licenses/commons-cli-1.2.jar.sha1             |     1 -
 solr/licenses/commons-cli-1.4.jar.sha1             |     1 +
 solr/licenses/commons-collections4-4.2.jar.sha1    |     1 -
 solr/licenses/commons-collections4-4.4.jar.sha1    |     1 +
 solr/licenses/commons-fileupload-1.3.3.jar.sha1    |     1 -
 solr/licenses/commons-fileupload-NOTICE.txt        |     5 -
 solr/licenses/commons-lang-2.6.jar.sha1            |     1 +
 ...ICENSE-ASL.txt => commons-lang-LICENSE-ASL.txt} |     0
 solr/licenses/commons-lang-NOTICE.txt              |     5 +
 solr/licenses/hamcrest-2.2.jar.sha1                |     1 +
 .../licenses/hamcrest-LICENSE-BSD.txt              |     0
 .../licenses/hamcrest-NOTICE.txt                   |     0
 solr/licenses/hamcrest-core-1.3.jar.sha1           |     1 -
 solr/licenses/hppc-0.8.1.jar.sha1                  |     1 -
 solr/licenses/hppc-0.8.2.jar.sha1                  |     1 +
 .../http2-client-9.4.24.v20191120.jar.sha1         |     1 -
 .../http2-client-9.4.27.v20200227.jar.sha1         |     1 +
 .../http2-common-9.4.24.v20191120.jar.sha1         |     1 -
 .../http2-common-9.4.27.v20200227.jar.sha1         |     1 +
 .../licenses/http2-hpack-9.4.24.v20191120.jar.sha1 |     1 -
 .../licenses/http2-hpack-9.4.27.v20200227.jar.sha1 |     1 +
 ...http-client-transport-9.4.24.v20191120.jar.sha1 |     1 -
 ...http-client-transport-9.4.27.v20200227.jar.sha1 |     1 +
 .../http2-server-9.4.24.v20191120.jar.sha1         |     1 -
 .../http2-server-9.4.27.v20200227.jar.sha1         |     1 +
 .../jetty-alpn-client-9.4.24.v20191120.jar.sha1    |     1 -
 .../jetty-alpn-client-9.4.27.v20200227.jar.sha1    |     1 +
 ...etty-alpn-java-client-9.4.24.v20191120.jar.sha1 |     1 -
 ...etty-alpn-java-client-9.4.27.v20200227.jar.sha1 |     1 +
 ...etty-alpn-java-server-9.4.24.v20191120.jar.sha1 |     1 -
 ...etty-alpn-java-server-9.4.27.v20200227.jar.sha1 |     1 +
 .../jetty-alpn-server-9.4.24.v20191120.jar.sha1    |     1 -
 .../jetty-alpn-server-9.4.27.v20200227.jar.sha1    |     1 +
 .../jetty-client-9.4.24.v20191120.jar.sha1         |     1 -
 .../jetty-client-9.4.27.v20200227.jar.sha1         |     1 +
 .../jetty-continuation-9.4.24.v20191120.jar.sha1   |     1 -
 .../jetty-continuation-9.4.27.v20200227.jar.sha1   |     1 +
 .../jetty-deploy-9.4.24.v20191120.jar.sha1         |     1 -
 .../jetty-deploy-9.4.27.v20200227.jar.sha1         |     1 +
 solr/licenses/jetty-http-9.4.24.v20191120.jar.sha1 |     1 -
 solr/licenses/jetty-http-9.4.27.v20200227.jar.sha1 |     1 +
 solr/licenses/jetty-io-9.4.24.v20191120.jar.sha1   |     1 -
 solr/licenses/jetty-io-9.4.27.v20200227.jar.sha1   |     1 +
 solr/licenses/jetty-jmx-9.4.24.v20191120.jar.sha1  |     1 -
 solr/licenses/jetty-jmx-9.4.27.v20200227.jar.sha1  |     1 +
 .../jetty-rewrite-9.4.24.v20191120.jar.sha1        |     1 -
 .../jetty-rewrite-9.4.27.v20200227.jar.sha1        |     1 +
 .../jetty-security-9.4.24.v20191120.jar.sha1       |     1 -
 .../jetty-security-9.4.27.v20200227.jar.sha1       |     1 +
 .../jetty-server-9.4.24.v20191120.jar.sha1         |     1 -
 .../jetty-server-9.4.27.v20200227.jar.sha1         |     1 +
 .../jetty-servlet-9.4.24.v20191120.jar.sha1        |     1 -
 .../jetty-servlet-9.4.27.v20200227.jar.sha1        |     1 +
 .../jetty-servlets-9.4.24.v20191120.jar.sha1       |     1 -
 .../jetty-servlets-9.4.27.v20200227.jar.sha1       |     1 +
 .../jetty-start-9.4.24.v20191120-shaded.jar.sha1   |     1 -
 .../jetty-start-9.4.27.v20200227-shaded.jar.sha1   |     1 +
 solr/licenses/jetty-util-9.4.24.v20191120.jar.sha1 |     1 -
 solr/licenses/jetty-util-9.4.27.v20200227.jar.sha1 |     1 +
 .../jetty-webapp-9.4.24.v20191120.jar.sha1         |     1 -
 .../jetty-webapp-9.4.27.v20200227.jar.sha1         |     1 +
 solr/licenses/jetty-xml-9.4.24.v20191120.jar.sha1  |     1 -
 solr/licenses/jetty-xml-9.4.27.v20200227.jar.sha1  |     1 +
 solr/licenses/log4j-1.2-api-2.11.2.jar.sha1        |     1 -
 solr/licenses/log4j-1.2-api-2.13.2.jar.sha1        |     1 +
 solr/licenses/log4j-api-2.11.2.jar.sha1            |     1 -
 solr/licenses/log4j-api-2.13.2.jar.sha1            |     1 +
 solr/licenses/log4j-core-2.11.2.jar.sha1           |     1 -
 solr/licenses/log4j-core-2.13.2.jar.sha1           |     1 +
 solr/licenses/log4j-slf4j-impl-2.11.2.jar.sha1     |     1 -
 solr/licenses/log4j-slf4j-impl-2.13.2.jar.sha1     |     1 +
 solr/licenses/log4j-web-2.11.2.jar.sha1            |     1 -
 solr/licenses/log4j-web-2.13.2.jar.sha1            |     1 +
 solr/licenses/metrics-core-4.1.2.jar.sha1          |     1 -
 solr/licenses/metrics-core-4.1.5.jar.sha1          |     1 +
 solr/licenses/metrics-graphite-4.1.2.jar.sha1      |     1 -
 solr/licenses/metrics-graphite-4.1.5.jar.sha1      |     1 +
 solr/licenses/metrics-jetty9-4.1.2.jar.sha1        |     1 -
 solr/licenses/metrics-jetty9-4.1.5.jar.sha1        |     1 +
 solr/licenses/metrics-jmx-4.1.2.jar.sha1           |     1 -
 solr/licenses/metrics-jmx-4.1.5.jar.sha1           |     1 +
 solr/licenses/metrics-jvm-4.1.2.jar.sha1           |     1 -
 solr/licenses/metrics-jvm-4.1.5.jar.sha1           |     1 +
 .../morfologik-ukrainian-search-3.9.0.jar.sha1     |     1 -
 .../morfologik-ukrainian-search-4.9.1.jar.sha1     |     1 +
 solr/licenses/netty-buffer-4.1.29.Final.jar.sha1   |     1 -
 solr/licenses/netty-buffer-4.1.50.Final.jar.sha1   |     1 +
 solr/licenses/netty-codec-4.1.29.Final.jar.sha1    |     1 -
 solr/licenses/netty-codec-4.1.50.Final.jar.sha1    |     1 +
 solr/licenses/netty-common-4.1.29.Final.jar.sha1   |     1 -
 solr/licenses/netty-common-4.1.50.Final.jar.sha1   |     1 +
 solr/licenses/netty-handler-4.1.29.Final.jar.sha1  |     1 -
 solr/licenses/netty-handler-4.1.50.Final.jar.sha1  |     1 +
 solr/licenses/netty-resolver-4.1.29.Final.jar.sha1 |     1 -
 solr/licenses/netty-resolver-4.1.50.Final.jar.sha1 |     1 +
 .../licenses/netty-transport-4.1.29.Final.jar.sha1 |     1 -
 .../licenses/netty-transport-4.1.50.Final.jar.sha1 |     1 +
 ...ty-transport-native-epoll-4.1.29.Final.jar.sha1 |     1 -
 ...ty-transport-native-epoll-4.1.50.Final.jar.sha1 |     1 +
 ...nsport-native-unix-common-4.1.29.Final.jar.sha1 |     1 -
 ...nsport-native-unix-common-4.1.50.Final.jar.sha1 |     1 +
 solr/licenses/org.restlet-2.4.0.jar.sha1           |     1 -
 solr/licenses/org.restlet-2.4.3.jar.sha1           |     1 +
 .../org.restlet.ext.servlet-2.4.0.jar.sha1         |     1 -
 .../org.restlet.ext.servlet-2.4.3.jar.sha1         |     1 +
 solr/licenses/snappy-java-1.1.7.6.jar.sha1         |     1 +
 ...LICENSE-ASL.txt => snappy-java-LICENSE-ASL.txt} |     0
 solr/licenses/snappy-java-NOTICE.txt               |    17 +
 solr/licenses/start.jar.sha1                       |     2 +-
 solr/licenses/tika-core-1.23.jar.sha1              |     1 -
 solr/licenses/tika-core-1.24.jar.sha1              |     1 +
 solr/licenses/tika-java7-1.23.jar.sha1             |     1 -
 solr/licenses/tika-java7-1.24.jar.sha1             |     1 +
 solr/licenses/tika-parsers-1.23.jar.sha1           |     1 -
 solr/licenses/tika-parsers-1.24.jar.sha1           |     1 +
 solr/licenses/tika-xmp-1.23.jar.sha1               |     1 -
 solr/licenses/tika-xmp-1.24.jar.sha1               |     1 +
 solr/licenses/zookeeper-3.5.5.jar.sha1             |     1 -
 solr/licenses/zookeeper-3.6.1.jar.sha1             |     1 +
 solr/licenses/zookeeper-jute-3.5.5.jar.sha1        |     1 -
 solr/licenses/zookeeper-jute-3.6.1.jar.sha1        |     1 +
 solr/packaging/build.gradle                        |    14 +-
 solr/server/README.md                              |   114 +
 solr/server/README.txt                             |   109 -
 solr/server/build.gradle                           |     4 +-
 solr/server/etc/jetty.xml                          |     8 +-
 solr/server/resources/log4j2-console.xml           |    28 +-
 solr/server/resources/log4j2.xml                   |    72 +-
 solr/server/solr/README.md                         |    79 +
 solr/server/solr/README.txt                        |    77 -
 .../solr/configsets/_default/conf/managed-schema   |     7 +
 .../solr/configsets/_default/conf/solrconfig.xml   |    63 +-
 .../clustering/carrot2/{README.txt => README.md}   |     0
 .../conf/solrconfig.xml                            |    48 +-
 .../conf/velocity/README.md                        |   116 +
 .../conf/velocity/README.txt                       |   101 -
 solr/server/solr/solr.xml                          |     1 +
 ..._REQUIREMENTS.mdtext => SYSTEM_REQUIREMENTS.md} |     0
 solr/site/index.template.md                        |    37 +
 solr/site/online-link.template.md                  |    19 +
 solr/solr-ref-guide/build.gradle                   |     5 +-
 solr/solr-ref-guide/build.xml                      |     1 -
 solr/solr-ref-guide/src/_config.yml.template       |     3 +-
 solr/solr-ref-guide/src/_includes/head.html        |    26 +-
 solr/solr-ref-guide/src/_includes/head_print.html  |    29 -
 .../src/_includes/mathjax-support.html             |    22 +
 solr/solr-ref-guide/src/_includes/sidebar.html     |    35 +-
 solr/solr-ref-guide/src/_includes/taglogic.html    |    22 -
 solr/solr-ref-guide/src/_includes/toc.html         |     9 -
 solr/solr-ref-guide/src/_includes/topnav.html      |    39 +-
 solr/solr-ref-guide/src/_layouts/default.html      |    35 +-
 .../solr-ref-guide/src/_layouts/default_print.html |    25 -
 solr/solr-ref-guide/src/_layouts/home.html         |    27 +-
 solr/solr-ref-guide/src/_layouts/page.html         |    29 +-
 solr/solr-ref-guide/src/_layouts/page_print.html   |    15 -
 solr/solr-ref-guide/src/_templates/open.html.slim  |     2 +-
 solr/solr-ref-guide/src/_templates/ulist.html.slim |     2 +-
 .../adding-custom-plugins-in-solrcloud-mode.adoc   |   333 -
 solr/solr-ref-guide/src/aliases.adoc               |     9 +-
 .../src/analytics-expression-sources.adoc          |     1 -
 .../src/analytics-mapping-functions.adoc           |     1 -
 .../src/analytics-reduction-functions.adoc         |     3 +-
 solr/solr-ref-guide/src/analytics.adoc             |     3 +-
 .../authentication-and-authorization-plugins.adoc  |     2 +-
 solr/solr-ref-guide/src/cdcr-api.adoc              |     8 +
 solr/solr-ref-guide/src/cdcr-architecture.adoc     |     8 +
 solr/solr-ref-guide/src/cdcr-config.adoc           |     9 +
 solr/solr-ref-guide/src/cdcr-operations.adoc       |     8 +
 .../src/cert-authentication-plugin.adoc            |    61 +
 solr/solr-ref-guide/src/circuit-breakers.adoc      |    68 +
 solr/solr-ref-guide/src/cloud-screens.adoc         |     2 +-
 .../src/cluster-node-management.adoc               |    57 +-
 .../src/collapse-and-expand-results.adoc           |    28 +-
 solr/solr-ref-guide/src/collection-aliasing.adoc   |     5 +-
 solr/solr-ref-guide/src/collection-management.adoc |    68 +-
 .../src/collection-specific-tools.adoc             |     2 +-
 solr/solr-ref-guide/src/collections-api.adoc       |     2 +-
 .../solr-ref-guide/src/colocating-collections.adoc |    76 -
 .../combining-distribution-and-replication.adoc    |    12 +-
 .../solr-ref-guide/src/command-line-utilities.adoc |    27 +-
 .../src/common-query-parameters.adoc               |    54 +-
 solr/solr-ref-guide/src/config-api.adoc            |    42 +-
 solr/solr-ref-guide/src/config-sets.adoc           |     4 +-
 solr/solr-ref-guide/src/configsets-api.adoc        |     2 +-
 solr/solr-ref-guide/src/coreadmin-api.adoc         |     8 +-
 .../src/cross-data-center-replication-cdcr.adoc    |    14 +
 solr/solr-ref-guide/src/css/customstyles.css       |   919 --
 solr/solr-ref-guide/src/css/decoration.css         |   254 +
 solr/solr-ref-guide/src/css/font-awesome.min.css   |     4 -
 solr/solr-ref-guide/src/css/lavish-bootstrap.css   |  5423 --------
 solr/solr-ref-guide/src/css/navs.css               |   366 +
 solr/solr-ref-guide/src/css/printstyles.css        |   160 -
 solr/solr-ref-guide/src/css/ref-guide.css          |  2919 ++--
 solr/solr-ref-guide/src/css/search.css             |    47 +
 solr/solr-ref-guide/src/css/theme-solr.css         |   147 -
 ...datadir-and-directoryfactory-in-solrconfig.adoc |     2 +-
 solr/solr-ref-guide/src/dataimport-screen.adoc     |     2 +
 solr/solr-ref-guide/src/distributed-requests.adoc  |     6 +-
 .../distributed-search-with-index-sharding.adoc    |     2 +-
 solr/solr-ref-guide/src/enabling-ssl.adoc          |   241 +-
 solr/solr-ref-guide/src/exporting-result-sets.adoc |    30 +
 solr/solr-ref-guide/src/filter-descriptions.adoc   |    46 +-
 .../glyphicons/glyphicons-halflings-regular.eot    |   Bin 20127 -> 0 bytes
 .../glyphicons/glyphicons-halflings-regular.svg    |   288 -
 .../glyphicons/glyphicons-halflings-regular.ttf    |   Bin 45404 -> 0 bytes
 .../glyphicons/glyphicons-halflings-regular.woff   |   Bin 23424 -> 0 bytes
 .../glyphicons/glyphicons-halflings-regular.woff2  |   Bin 18028 -> 0 bytes
 .../src/fonts/mplus1mn/mplus1mn-bold-ascii.ttf     |   Bin 15868 -> 0 bytes
 .../fonts/mplus1mn/mplus1mn-bold_italic-ascii.ttf  |   Bin 15908 -> 0 bytes
 .../src/fonts/mplus1mn/mplus1mn-italic-ascii.ttf   |   Bin 15928 -> 0 bytes
 .../mplus1mn/mplus1mn-regular-ascii-conums.ttf     |   Bin 20024 -> 0 bytes
 .../src/fonts/mplus1p-regular-fallback.ttf         |   Bin 1405716 -> 0 bytes
 solr/solr-ref-guide/src/format-of-solr-xml.adoc    |     4 +
 solr/solr-ref-guide/src/function-queries.adoc      |     1 -
 solr/solr-ref-guide/src/highlighting.adoc          |    13 +-
 solr/solr-ref-guide/src/how-solrcloud-works.adoc   |     4 +-
 solr/solr-ref-guide/src/how-to-contribute.adoc     |    16 +-
 .../overview-of-the-solr-admin-ui/dashboard.png    |   Bin 92750 -> 172175 bytes
 .../src/implicit-requesthandlers.adoc              |    28 +-
 solr/solr-ref-guide/src/index-replication.adoc     |   177 +-
 solr/solr-ref-guide/src/index.adoc                 |    37 +-
 .../src/indexing-nested-documents.adoc             |     2 +-
 solr/solr-ref-guide/src/installing-solr.adoc       |     2 +-
 solr/solr-ref-guide/src/js/customscripts.js        |    68 +-
 solr/solr-ref-guide/src/js/ref-guide-toc.js        |    36 -
 solr/solr-ref-guide/src/js/toc.js                  |    82 -
 solr/solr-ref-guide/src/json-facet-api.adoc        |    11 +-
 .../src/json-faceting-domain-changes.adoc          |     8 +-
 solr/solr-ref-guide/src/json-query-dsl.adoc        |    38 +-
 solr/solr-ref-guide/src/jvm-settings.adoc          |    20 +-
 .../src/jwt-authentication-plugin.adoc             |     3 +-
 .../src/kerberos-authentication-plugin.adoc        |     7 +-
 solr/solr-ref-guide/src/language-analysis.adoc     |    20 +-
 solr/solr-ref-guide/src/learning-to-rank.adoc      |     2 +-
 solr/solr-ref-guide/src/libs.adoc                  |     2 +-
 .../src/major-changes-in-solr-7.adoc               |     3 -
 .../src/major-changes-in-solr-8.adoc               |    13 +-
 .../src/major-changes-in-solr-9.adoc               |   103 +-
 .../src/making-and-restoring-backups.adoc          |     2 +-
 .../src/meta-docs/asciidoc-syntax.adoc             |    45 +
 solr/solr-ref-guide/src/meta-docs/jekyll.adoc      |    72 +-
 solr/solr-ref-guide/src/meta-docs/publish.adoc     |    69 +-
 solr/solr-ref-guide/src/metrics-history.adoc       |     2 +-
 solr/solr-ref-guide/src/metrics-reporting.adoc     |     2 +-
 .../solr-ref-guide/src/migrate-to-policy-rule.adoc |   198 -
 .../src/near-real-time-searching.adoc              |     2 +-
 solr/solr-ref-guide/src/other-parsers.adoc         |   185 +-
 .../src/overview-of-the-solr-admin-ui.adoc         |    16 +-
 .../src/package-manager-internals.adoc             |   155 +-
 solr/solr-ref-guide/src/package-manager.adoc       |    56 +-
 .../src/query-settings-in-solrconfig.adoc          |    24 +-
 solr/solr-ref-guide/src/rate-limiters.adoc         |   131 +
 solr/solr-ref-guide/src/relevance.adoc             |     4 +-
 solr/solr-ref-guide/src/replica-management.adoc    |    91 +-
 solr/solr-ref-guide/src/replication-screen.adoc    |     8 +-
 .../solr-ref-guide/src/request-parameters-api.adoc |     4 +-
 ...andlers-and-searchcomponents-in-solrconfig.adoc |     9 +
 solr/solr-ref-guide/src/resource-loading.adoc      |     2 +-
 solr/solr-ref-guide/src/result-clustering.adoc     |     4 +-
 .../src/rule-based-authorization-plugin.adoc       |    86 +-
 .../src/rule-based-replica-placement.adoc          |     2 +-
 solr/solr-ref-guide/src/running-solr-on-hdfs.adoc  |    41 +-
 solr/solr-ref-guide/src/schema-api.adoc            |     1 -
 solr/solr-ref-guide/src/securing-solr.adoc         |     6 +-
 .../setting-up-an-external-zookeeper-ensemble.adoc |     2 +
 solr/solr-ref-guide/src/shard-management.adoc      |    11 +-
 .../src/shards-and-indexing-data-in-solrcloud.adoc |     4 +-
 .../src/solr-control-script-reference.adoc         |    12 +-
 solr/solr-ref-guide/src/solr-glossary.adoc         |     4 +-
 solr/solr-ref-guide/src/solr-plugins.adoc          |    19 +-
 solr/solr-ref-guide/src/solr-tracing.adoc          |     2 +-
 solr/solr-ref-guide/src/solr-tutorial.adoc         |     7 +-
 solr/solr-ref-guide/src/solr-upgrade-notes.adoc    |   262 +-
 .../src/solrcloud-autoscaling-api.adoc             |   809 --
 .../solrcloud-autoscaling-auto-add-replicas.adoc   |    73 -
 .../src/solrcloud-autoscaling-fault-tolerance.adoc |    59 -
 .../src/solrcloud-autoscaling-listeners.adoc       |   220 -
 .../src/solrcloud-autoscaling-overview.adoc        |    96 -
 .../solrcloud-autoscaling-policy-preferences.adoc  |   641 -
 .../src/solrcloud-autoscaling-trigger-actions.adoc |    88 -
 .../src/solrcloud-autoscaling-triggers.adoc        |   609 -
 solr/solr-ref-guide/src/solrcloud-autoscaling.adoc |    35 -
 solr/solr-ref-guide/src/solrcloud.adoc             |     8 +-
 solr/solr-ref-guide/src/spatial-search.adoc        |     2 +-
 solr/solr-ref-guide/src/spell-checking.adoc        |     2 +-
 solr/solr-ref-guide/src/stream-api.adoc            |   216 +
 .../src/stream-decorator-reference.adoc            |    15 +-
 .../src/stream-evaluator-reference.adoc            |     3 +-
 .../src/stream-source-reference.adoc               |    66 +-
 solr/solr-ref-guide/src/streaming-expressions.adoc |     6 +-
 solr/solr-ref-guide/src/suggestions-screen.adoc    |    40 -
 .../src/the-query-elevation-component.adoc         |     2 +-
 .../src/the-standard-query-parser.adoc             |     4 +-
 solr/solr-ref-guide/src/the-stats-component.adoc   |     2 +-
 solr/solr-ref-guide/src/the-tagger-handler.adoc    |    11 +-
 solr/solr-ref-guide/src/tokenizers.adoc            |     2 +-
 .../src/updatehandlers-in-solrconfig.adoc          |     2 +-
 ...ding-data-with-solr-cell-using-apache-tika.adoc |     1 -
 ...ta-store-data-with-the-data-import-handler.adoc |     4 +-
 solr/solr-ref-guide/src/using-solrj.adoc           |    33 +-
 ...ing-the-solr-administration-user-interface.adoc |     3 +-
 solr/solr-ref-guide/src/v2-api.adoc                |    12 +-
 solr/solrj/build.gradle                            |     2 +
 solr/solrj/ivy.xml                                 |     4 +
 .../org/apache/solr/client/solrj/SolrClient.java   |    16 +-
 .../org/apache/solr/client/solrj/SolrRequest.java  |    22 +
 .../org/apache/solr/client/solrj/SolrResponse.java |     1 +
 .../apache/solr/client/solrj/V2RequestSupport.java |     1 +
 .../client/solrj/beans/DocumentObjectBinder.java   |    13 +-
 .../client/solrj/cloud/AlreadyExistsException.java |    35 +
 .../client/solrj/cloud/BadVersionException.java    |    40 +
 .../client/solrj/cloud/DelegatingCloudManager.java |    89 +
 .../cloud/DelegatingClusterStateProvider.java      |   130 +
 .../client/solrj/cloud/DistribStateManager.java    |    11 -
 .../solr/client/solrj/cloud/NodeStateProvider.java |     5 +-
 .../solr/client/solrj/cloud/NotEmptyException.java |    35 +
 .../solr/client/solrj/cloud/SocketProxy.java       |    56 +-
 .../solr/client/solrj/cloud/SolrCloudManager.java  |     2 +-
 .../solr/client/solrj/cloud/VersionedData.java     |    99 +
 .../cloud/autoscaling/AddReplicaSuggester.java     |    81 -
 .../cloud/autoscaling/AlreadyExistsException.java  |    35 -
 .../solrj/cloud/autoscaling/AutoScalingConfig.java |   589 -
 .../cloud/autoscaling/BadVersionException.java     |    40 -
 .../solr/client/solrj/cloud/autoscaling/Cell.java  |    74 -
 .../client/solrj/cloud/autoscaling/Clause.java     |   829 --
 .../solrj/cloud/autoscaling/ComputedType.java      |    99 -
 .../client/solrj/cloud/autoscaling/Condition.java  |   125 -
 .../solrj/cloud/autoscaling/CoresVariable.java     |   125 -
 .../cloud/autoscaling/DelegatingCloudManager.java  |    93 -
 .../DelegatingClusterStateProvider.java            |   130 -
 .../autoscaling/DelegatingDistribStateManager.java |   107 -
 .../autoscaling/DelegatingNodeStateProvider.java   |    56 -
 .../cloud/autoscaling/DeleteNodeSuggester.java     |    46 -
 .../cloud/autoscaling/DeleteReplicaSuggester.java  |    74 -
 .../solrj/cloud/autoscaling/FreeDiskVariable.java  |   175 -
 .../cloud/autoscaling/MoveReplicaSuggester.java    |   112 -
 .../solrj/cloud/autoscaling/NodeVariable.java      |    44 -
 .../solrj/cloud/autoscaling/NoneSuggester.java     |    39 -
 .../solrj/cloud/autoscaling/NotEmptyException.java |    35 -
 .../client/solrj/cloud/autoscaling/Operand.java    |   209 -
 .../client/solrj/cloud/autoscaling/Policy.java     |   664 -
 .../solrj/cloud/autoscaling/PolicyHelper.java      |   603 -
 .../client/solrj/cloud/autoscaling/Preference.java |   148 -
 .../client/solrj/cloud/autoscaling/RangeVal.java   |    61 -
 .../solrj/cloud/autoscaling/ReplicaCount.java      |   128 -
 .../solrj/cloud/autoscaling/ReplicaInfo.java       |   219 -
 .../solrj/cloud/autoscaling/ReplicaVariable.java   |   175 -
 .../solr/client/solrj/cloud/autoscaling/Row.java   |   379 -
 .../solrj/cloud/autoscaling/SealedClause.java      |    29 -
 .../cloud/autoscaling/SplitShardSuggester.java     |    65 -
 .../client/solrj/cloud/autoscaling/Suggester.java  |   518 -
 .../client/solrj/cloud/autoscaling/Suggestion.java |   130 -
 .../autoscaling/TriggerEventProcessorStage.java    |    30 -
 .../solrj/cloud/autoscaling/TriggerEventType.java  |    33 -
 .../cloud/autoscaling/UnsupportedSuggester.java    |    59 -
 .../client/solrj/cloud/autoscaling/Variable.java   |   406 -
 .../solrj/cloud/autoscaling/VariableBase.java      |   211 -
 .../solrj/cloud/autoscaling/VersionedData.java     |    94 -
 .../client/solrj/cloud/autoscaling/Violation.java  |   181 -
 .../cloud/autoscaling/WithCollectionVariable.java  |   166 -
 .../solrj/cloud/autoscaling/package-info.java      |    23 -
 .../client/solrj/impl/BaseCloudSolrClient.java     |   100 +-
 .../solrj/impl/BaseHttpClusterStateProvider.java   |    22 +-
 .../solr/client/solrj/impl/BaseHttpSolrClient.java |    10 +-
 .../client/solrj/impl/BinaryRequestWriter.java     |     6 +-
 .../client/solrj/impl/BinaryResponseParser.java    |     1 +
 .../solr/client/solrj/impl/CloudSolrClient.java    |     2 +-
 .../client/solrj/impl/ClusterStateProvider.java    |     2 +
 .../impl/ConcurrentUpdateHttp2SolrClient.java      |    25 +-
 .../solrj/impl/ConcurrentUpdateSolrClient.java     |    24 +-
 .../solrj/impl/DelegationTokenHttpSolrClient.java  |     2 +-
 .../solrj/impl/Http2ClusterStateProvider.java      |     1 +
 .../solr/client/solrj/impl/Http2SolrClient.java    |   274 +-
 .../solr/client/solrj/impl/HttpClientUtil.java     |    51 +-
 .../solrj/impl/HttpClusterStateProvider.java       |     1 +
 .../solr/client/solrj/impl/HttpSolrClient.java     |   171 +-
 .../client/solrj/impl/Krb5HttpClientBuilder.java   |    13 +-
 .../solr/client/solrj/impl/LBHttp2SolrClient.java  |   141 +-
 .../solr/client/solrj/impl/LBHttpSolrClient.java   |     8 +-
 .../solr/client/solrj/impl/LBSolrClient.java       |   208 +-
 .../client/solrj/impl/SolrClientCloudManager.java  |    20 +-
 .../solrj/impl/SolrClientNodeStateProvider.java    |   248 +-
 .../solrj/impl/SolrHttpRequestRetryHandler.java    |     4 +-
 .../solrj/impl/StreamingBinaryResponseParser.java  |     3 +
 .../solr/client/solrj/impl/XMLResponseParser.java  |     6 +-
 .../solrj/impl/ZkClientClusterStateProvider.java   |     3 +-
 .../client/solrj/impl/ZkDistribStateManager.java   |    33 +-
 .../client/solrj/io/ClassificationEvaluation.java  |     8 +-
 .../java/org/apache/solr/client/solrj/io/Lang.java |   104 +-
 .../apache/solr/client/solrj/io/ModelCache.java    |     2 +-
 .../solr/client/solrj/io/SolrClientCache.java      |     2 +-
 .../org/apache/solr/client/solrj/io/Tuple.java     |   185 +-
 .../solr/client/solrj/io/comp/FieldComparator.java |     5 +
 .../solr/client/solrj/io/eq/FieldEqualitor.java    |     3 +
 .../solr/client/solrj/io/eval/AkimaEvaluator.java  |     3 +-
 .../solr/client/solrj/io/eval/AnovaEvaluator.java  |    12 +-
 .../solr/client/solrj/io/eval/ArrayEvaluator.java  |     2 +
 .../solr/client/solrj/io/eval/AscEvaluator.java    |     1 +
 .../solr/client/solrj/io/eval/Attributes.java      |     1 +
 .../solrj/io/eval/BicubicSplineEvaluator.java      |     2 +
 .../solrj/io/eval/ChebyshevDistanceEvaluator.java  |     1 +
 .../solrj/io/eval/ChiSquareDataSetEvaluator.java   |    13 +-
 .../client/solrj/io/eval/ColumnAtEvaluator.java    |     2 +-
 .../client/solrj/io/eval/ConvexHullEvaluator.java  |     2 +-
 .../client/solrj/io/eval/ConvolutionEvaluator.java |     1 +
 .../client/solrj/io/eval/CorrelationEvaluator.java |     3 +-
 .../solrj/io/eval/CosineSimilarityEvaluator.java   |     2 +
 .../client/solrj/io/eval/CovarianceEvaluator.java  |     1 +
 .../solr/client/solrj/io/eval/DbscanEvaluator.java |     7 +-
 .../client/solrj/io/eval/DensityEvaluator.java     |     1 +
 .../client/solrj/io/eval/DescribeEvaluator.java    |    30 +-
 .../client/solrj/io/eval/DistanceEvaluator.java    |     1 +
 .../client/solrj/io/eval/DotProductEvaluator.java  |     2 +
 .../solr/client/solrj/io/eval/EBEAddEvaluator.java |     3 +-
 .../client/solrj/io/eval/EBEDivideEvaluator.java   |     3 +-
 .../client/solrj/io/eval/EBEMultiplyEvaluator.java |     3 +-
 .../client/solrj/io/eval/EBESubtractEvaluator.java |     3 +-
 .../solrj/io/eval/EnclosingDiskEvaluator.java      |     5 +-
 .../io/eval/EnumeratedDistributionEvaluator.java   |     6 +
 .../solrj/io/eval/EuclideanDistanceEvaluator.java  |     1 +
 .../solr/client/solrj/io/eval/FFTEvaluator.java    |     2 +-
 .../solrj/io/eval/FeatureSelectEvaluator.java      |     5 +-
 .../client/solrj/io/eval/FieldValueEvaluator.java  |     1 +
 .../client/solrj/io/eval/FindDelayEvaluator.java   |     2 +
 .../solrj/io/eval/FrequencyTableEvaluator.java     |    17 +-
 .../client/solrj/io/eval/FuzzyKmeansEvaluator.java |     7 +-
 .../solrj/io/eval/GTestDataSetEvaluator.java       |    13 +-
 .../client/solrj/io/eval/GaussFitEvaluator.java    |     1 +
 .../solrj/io/eval/GetBaryCenterEvaluator.java      |     2 +-
 .../client/solrj/io/eval/GetCacheEvaluator.java    |     2 +
 .../client/solrj/io/eval/GetCenterEvaluator.java   |     3 +-
 .../client/solrj/io/eval/GetClusterEvaluator.java  |     4 +-
 .../client/solrj/io/eval/GetRadiusEvaluator.java   |     1 +
 .../solrj/io/eval/GetSupportPointsEvaluator.java   |     4 +-
 .../client/solrj/io/eval/HarmonicFitEvaluator.java |     3 +
 .../client/solrj/io/eval/HistogramEvaluator.java   |    24 +-
 .../solr/client/solrj/io/eval/IFFTEvaluator.java   |     2 +-
 .../client/solrj/io/eval/IndexOfEvaluator.java     |     1 +
 .../client/solrj/io/eval/IntegrateEvaluator.java   |     2 +-
 .../solr/client/solrj/io/eval/IsNullEvaluator.java |     1 +
 .../solr/client/solrj/io/eval/KmeansEvaluator.java |     9 +-
 .../solr/client/solrj/io/eval/KnnEvaluator.java    |     9 +-
 .../solrj/io/eval/KnnRegressionEvaluator.java      |     3 +
 .../solrj/io/eval/KolmogorovSmirnovEvaluator.java  |    19 +-
 .../solr/client/solrj/io/eval/L1NormEvaluator.java |     1 +
 .../client/solrj/io/eval/LInfNormEvaluator.java    |     1 +
 .../solrj/io/eval/LatLonVectorsEvaluator.java      |     6 +-
 .../solr/client/solrj/io/eval/LerpEvaluator.java   |     3 +-
 .../client/solrj/io/eval/ListCacheEvaluator.java   |     8 +
 .../solr/client/solrj/io/eval/LoessEvaluator.java  |     3 +-
 .../solrj/io/eval/MannWhitneyUEvaluator.java       |    12 +-
 .../apache/solr/client/solrj/io/eval/Matrix.java   |     7 +-
 .../solr/client/solrj/io/eval/MatrixEvaluator.java |     1 +
 .../solrj/io/eval/MatrixMultiplyEvaluator.java     |     1 +
 .../solrj/io/eval/MeanDifferenceEvaluator.java     |     1 +
 .../solr/client/solrj/io/eval/MeanEvaluator.java   |     1 +
 .../solr/client/solrj/io/eval/MemsetEvaluator.java |     6 +-
 .../client/solrj/io/eval/MinMaxScaleEvaluator.java |     3 +-
 .../solr/client/solrj/io/eval/ModeEvaluator.java   |     3 +-
 .../client/solrj/io/eval/MonteCarloEvaluator.java  |    10 +-
 .../client/solrj/io/eval/MultiKmeansEvaluator.java |     6 +-
 .../MultiVariateNormalDistributionEvaluator.java   |     1 +
 .../client/solrj/io/eval/NaturalEvaluator.java     |     2 +-
 .../solr/client/solrj/io/eval/NormEvaluator.java   |     1 +
 .../solrj/io/eval/NormalizeSumEvaluator.java       |     3 +-
 .../client/solrj/io/eval/NotNullEvaluator.java     |     1 +
 .../solrj/io/eval/OLSRegressionEvaluator.java      |     7 +-
 .../solr/client/solrj/io/eval/OnesEvaluator.java   |     2 +-
 .../client/solrj/io/eval/OscillateEvaluator.java   |     2 +
 .../client/solrj/io/eval/OutliersEvaluator.java    |     8 +-
 .../client/solrj/io/eval/PairSortEvaluator.java    |     3 +-
 .../client/solrj/io/eval/PairedTTestEvaluator.java |    10 +-
 .../client/solrj/io/eval/PercentileEvaluator.java  |     3 +-
 .../solr/client/solrj/io/eval/PivotEvaluator.java  |    13 +-
 .../solrj/io/eval/PolyFitDerivativeEvaluator.java  |     2 +
 .../client/solrj/io/eval/PolyFitEvaluator.java     |     1 +
 .../solr/client/solrj/io/eval/PowerEvaluator.java  |     9 +-
 .../client/solrj/io/eval/PredictEvaluator.java     |    11 +-
 .../solr/client/solrj/io/eval/PrimesEvaluator.java |     2 +-
 .../client/solrj/io/eval/PutCacheEvaluator.java    |     1 +
 .../client/solrj/io/eval/RecursiveEvaluator.java   |    14 +-
 .../client/solrj/io/eval/RegressionEvaluator.java  |     2 +
 .../client/solrj/io/eval/RemoveCacheEvaluator.java |     2 +
 .../solr/client/solrj/io/eval/RepeatEvaluator.java |     2 +-
 .../solr/client/solrj/io/eval/RowAtEvaluator.java  |     2 +-
 .../solr/client/solrj/io/eval/SampleEvaluator.java |     2 +-
 .../client/solrj/io/eval/ScalarAddEvaluator.java   |     3 +-
 .../solr/client/solrj/io/eval/ScaleEvaluator.java  |     2 +-
 .../solrj/io/eval/SetColumnLabelsEvaluator.java    |     3 +-
 .../solrj/io/eval/SetRowLabelsEvaluator.java       |     3 +-
 .../client/solrj/io/eval/SetValueEvaluator.java    |     8 +-
 .../solr/client/solrj/io/eval/SplineEvaluator.java |     3 +-
 .../solr/client/solrj/io/eval/SplitEvaluator.java  |     2 +-
 .../solrj/io/eval/StandardDeviationEvaluator.java  |     3 +-
 .../client/solrj/io/eval/SumColumnsEvaluator.java  |     2 +-
 .../solrj/io/eval/SumDifferenceEvaluator.java      |     1 +
 .../client/solrj/io/eval/SumRowsEvaluator.java     |     2 +-
 .../solr/client/solrj/io/eval/SumSqEvaluator.java  |     1 +
 .../solr/client/solrj/io/eval/TTestEvaluator.java  |    13 +-
 .../client/solrj/io/eval/TermVectorsEvaluator.java |    16 +-
 .../solrj/io/eval/TimeDifferencingEvaluator.java   |    97 +-
 .../client/solrj/io/eval/TopFeaturesEvaluator.java |     8 +-
 .../solr/client/solrj/io/eval/UnitEvaluator.java   |     3 +-
 .../client/solrj/io/eval/ValueAtEvaluator.java     |     1 +
 .../client/solrj/io/eval/VarianceEvaluator.java    |     3 +-
 .../solr/client/solrj/io/eval/VectorFunction.java  |     4 +
 .../solr/client/solrj/io/eval/ZerosEvaluator.java  |     2 +-
 .../client/solrj/io/graph/GatherNodesStream.java   |    56 +-
 .../apache/solr/client/solrj/io/graph/Node.java    |    20 +-
 .../client/solrj/io/graph/ShortestPathStream.java  |    35 +-
 .../solr/client/solrj/io/graph/Traversal.java      |    11 +-
 .../client/solrj/io/graph/TraversalIterator.java   |     9 +-
 .../solr/client/solrj/io/ops/GroupOperation.java   |    17 +-
 .../client/solrj/io/sql/ResultSetMetaDataImpl.java |     2 +
 .../client/solrj/io/stream/CalculatorStream.java   |    12 +-
 .../solrj/io/stream/CartesianProductStream.java    |     1 +
 .../solr/client/solrj/io/stream/CellStream.java    |     9 +-
 .../client/solrj/io/stream/CloudSolrStream.java    |    32 +-
 .../solr/client/solrj/io/stream/CommitStream.java  |     2 +-
 .../solr/client/solrj/io/stream/CsvStream.java     |     3 +-
 .../solr/client/solrj/io/stream/DaemonStream.java  |    31 +-
 .../client/solrj/io/stream/DeepRandomStream.java   |    28 +-
 .../solr/client/solrj/io/stream/DrillStream.java   |   280 +
 .../solr/client/solrj/io/stream/EchoStream.java    |    11 +-
 .../solr/client/solrj/io/stream/EvalStream.java    |     2 +-
 .../client/solrj/io/stream/ExceptionStream.java    |    12 +-
 .../client/solrj/io/stream/ExecutorStream.java     |    13 +-
 .../solr/client/solrj/io/stream/Facet2DStream.java |    26 +-
 .../solr/client/solrj/io/stream/FacetStream.java   |    96 +-
 .../solrj/io/stream/FeaturesSelectionStream.java   |    37 +-
 .../solr/client/solrj/io/stream/FetchStream.java   |     4 +-
 .../solr/client/solrj/io/stream/GetStream.java     |    14 +-
 .../client/solrj/io/stream/HashRollupStream.java   |    12 +-
 .../solr/client/solrj/io/stream/JDBCStream.java    |    23 +-
 .../client/solrj/io/stream/JSONTupleStream.java    |     1 +
 .../solrj/io/stream/JavabinTupleStreamParser.java  |     3 +
 .../solr/client/solrj/io/stream/KnnStream.java     |    13 +-
 .../solr/client/solrj/io/stream/LetStream.java     |     6 +-
 .../solr/client/solrj/io/stream/ListStream.java    |     5 +-
 .../solr/client/solrj/io/stream/ModelStream.java   |     6 +-
 .../solr/client/solrj/io/stream/NoOpStream.java    |     6 +-
 .../solr/client/solrj/io/stream/NullStream.java    |     3 +-
 .../client/solrj/io/stream/ParallelListStream.java |    13 +-
 .../client/solrj/io/stream/ParallelStream.java     |    10 +-
 .../solr/client/solrj/io/stream/PlotStream.java    |    21 +-
 .../client/solrj/io/stream/PriorityStream.java     |     2 +-
 .../solr/client/solrj/io/stream/RandomStream.java  |    15 +-
 .../solr/client/solrj/io/stream/RollupStream.java  |    16 +-
 .../client/solrj/io/stream/ScoreNodesStream.java   |    15 +-
 .../solr/client/solrj/io/stream/SearchStream.java  |    16 +-
 .../solr/client/solrj/io/stream/SelectStream.java  |    15 +-
 .../solrj/io/stream/SignificantTermsStream.java    |    31 +-
 .../solr/client/solrj/io/stream/SolrStream.java    |    13 +-
 .../solr/client/solrj/io/stream/StatsStream.java   |   286 +-
 .../solr/client/solrj/io/stream/StreamContext.java |    11 +-
 .../client/solrj/io/stream/TextLogitStream.java    |    54 +-
 .../client/solrj/io/stream/TimeSeriesStream.java   |    30 +-
 .../solr/client/solrj/io/stream/TopicStream.java   |    16 +-
 .../solr/client/solrj/io/stream/TupStream.java     |    20 +-
 .../solr/client/solrj/io/stream/TupleStream.java   |     3 +-
 .../solr/client/solrj/io/stream/UpdateStream.java  |    21 +-
 .../solr/client/solrj/io/stream/ZplotStream.java   |    38 +-
 .../client/solrj/io/stream/expr/Explanation.java   |     1 +
 .../solrj/io/stream/expr/StreamExplanation.java    |     1 +
 .../solrj/io/stream/expr/StreamExpression.java     |     6 +
 .../expr/StreamExpressionNamedParameter.java       |     7 +
 .../io/stream/expr/StreamExpressionValue.java      |     9 +-
 .../client/solrj/io/stream/expr/StreamFactory.java |   249 +-
 .../solrj/io/stream/metrics/CountMetric.java       |     4 +-
 .../solrj/io/stream/metrics/PercentileMetric.java  |    84 +
 .../client/solrj/io/stream/metrics/StdMetric.java  |    93 +
 .../solrj/request/AbstractUpdateRequest.java       |     5 +
 .../solrj/request/CollectionAdminRequest.java      |   112 +-
 .../client/solrj/request/CollectionApiMapping.java |    14 +-
 .../solrj/request/ConfigSetAdminRequest.java       |     8 +-
 .../client/solrj/request/CoreAdminRequest.java     |     5 +
 .../solr/client/solrj/request/CoreApiMapping.java  |     3 +-
 .../solrj/request/DelegationTokenRequest.java      |    15 +
 .../client/solrj/request/DirectXmlRequest.java     |     5 +
 .../solrj/request/DocumentAnalysisRequest.java     |     5 +
 .../client/solrj/request/FieldAnalysisRequest.java |     5 +
 .../client/solrj/request/GenericSolrRequest.java   |     5 +
 .../client/solrj/request/HealthCheckRequest.java   |     5 +-
 .../solrj/request/JavaBinUpdateRequestCodec.java   |    19 +-
 .../solr/client/solrj/request/LukeRequest.java     |     5 +
 .../solrj/request/MultiContentWriterRequest.java   |     7 +-
 .../solr/client/solrj/request/QueryRequest.java    |     4 +
 .../solr/client/solrj/request/RequestWriter.java   |    13 +-
 .../apache/solr/client/solrj/request/SolrPing.java |     5 +
 .../solr/client/solrj/request/UpdateRequest.java   |     2 +-
 .../solr/client/solrj/request/V1toV2ApiMapper.java |     1 +
 .../solr/client/solrj/request/V2Request.java       |     5 +
 .../client/solrj/request/beans/PluginMeta.java     |    64 +
 .../solr/client/solrj/request/json/DomainMap.java  |     3 +
 .../client/solrj/request/json/HeatmapFacetMap.java |     3 +-
 .../client/solrj/request/json/JsonFacetMap.java    |     5 +-
 .../solrj/request/json/JsonQueryRequest.java       |     8 +
 .../request/schema/AbstractSchemaRequest.java      |     4 +
 .../solrj/response/AnalysisResponseBase.java       |     3 +-
 .../solrj/response/CollectionAdminResponse.java    |     1 +
 .../solrj/response/ConfigSetAdminResponse.java     |     3 +-
 .../solrj/response/DelegationTokenResponse.java    |     3 +
 .../solr/client/solrj/response/FieldStatsInfo.java |     1 +
 .../client/solrj/response/HealthCheckResponse.java |     1 +
 .../solr/client/solrj/response/PivotField.java     |     5 +-
 .../solr/client/solrj/response/QueryResponse.java  |    11 +-
 .../solr/client/solrj/response/RangeFacet.java     |     5 +-
 .../client/solrj/response/SolrResponseBase.java    |     3 +
 .../client/solrj/response/SpellCheckResponse.java  |     1 +
 .../client/solrj/response/SuggesterResponse.java   |     1 +
 .../solrj/response/json/BucketBasedJsonFacet.java  |     1 +
 .../solrj/response/json/HeatmapJsonFacet.java      |     1 +
 .../solrj/response/json/NestableJsonFacet.java     |     1 +
 .../solrj/response/schema/SchemaResponse.java      |    32 +-
 .../RequestReplicaListTransformerGenerator.java    |     6 +-
 .../solr/client/solrj/util/AsyncListener.java      |    33 +
 .../apache/solr/client/solrj/util/Cancellable.java |    22 +
 .../apache/solr/client/solrj/util/ClientUtils.java |     2 +
 .../java/org/apache/solr/cluster/api/ApiType.java  |    31 +
 .../apache/solr/cluster/api/CollectionConfig.java  |    27 +
 .../org/apache/solr/cluster/api/HashRange.java     |    42 +
 .../java/org/apache/solr/cluster/api/Resource.java |    41 +
 .../java/org/apache/solr/cluster/api/Router.java   |    25 +
 .../java/org/apache/solr/cluster/api/Shard.java    |    39 +
 .../org/apache/solr/cluster/api/ShardReplica.java  |    57 +
 .../org/apache/solr/cluster/api/SimpleMap.java     |    80 +
 .../org/apache/solr/cluster/api/SolrCluster.java   |    48 +
 .../apache/solr/cluster/api/SolrCollection.java    |    34 +
 .../java/org/apache/solr/cluster/api/SolrNode.java |    36 +
 .../org/apache/solr/common/IteratorWriter.java     |     1 +
 .../org/apache/solr/common/LazySolrCluster.java    |   446 +
 .../apache/solr/common/LinkedHashMapWriter.java    |     2 +
 .../org/apache/solr/common/MapSerializable.java    |     1 +
 .../src/java/org/apache/solr/common/MapWriter.java |     1 +
 .../java/org/apache/solr/common/MapWriterMap.java  |     7 +-
 .../org/apache/solr/common/NavigableObject.java    |     6 +-
 .../java/org/apache/solr/common/SimpleZkMap.java   |   139 +
 .../java/org/apache/solr/common/SolrDocument.java  |     7 +-
 .../org/apache/solr/common/SolrDocumentBase.java   |     1 +
 .../org/apache/solr/common/SolrDocumentList.java   |    10 +
 .../java/org/apache/solr/common/SolrException.java |    15 +-
 .../org/apache/solr/common/SolrInputDocument.java  |     1 +
 .../org/apache/solr/common/SolrInputField.java     |     4 +-
 .../java/org/apache/solr/common/cloud/Aliases.java |    12 +-
 .../solr/common/cloud/ClusterProperties.java       |     4 +
 .../org/apache/solr/common/cloud/ClusterState.java |    91 +-
 .../solr/common/cloud/CompositeIdRouter.java       |     2 +-
 .../solr/common/cloud/ConnectionManager.java       |     6 +-
 .../apache/solr/common/cloud/DocCollection.java    |    63 +-
 .../org/apache/solr/common/cloud/DocRouter.java    |    16 +-
 .../solr/common/cloud/NodesSysPropsCacher.java     |     4 +-
 .../java/org/apache/solr/common/cloud/Replica.java |   193 +-
 .../java/org/apache/solr/common/cloud/Slice.java   |     3 +
 .../org/apache/solr/common/cloud/SolrZkClient.java |    49 +-
 .../apache/solr/common/cloud/SolrZooKeeper.java    |     1 +
 .../apache/solr/common/cloud/ZkConfigManager.java  |     3 +-
 .../apache/solr/common/cloud/ZkDynamicConfig.java  |   145 +
 .../solr/common/cloud/ZkMaintenanceUtils.java      |    33 +-
 .../org/apache/solr/common/cloud/ZkNodeProps.java  |    11 +-
 .../apache/solr/common/cloud/ZkStateReader.java    |   364 +-
 .../solr/common/cloud/rule/ImplicitSnitch.java     |     5 +-
 .../org/apache/solr/common/cloud/rule/Snitch.java  |     1 +
 .../solr/common/cloud/rule/SnitchContext.java      |     1 +
 .../solr/common/params/AutoScalingParams.java      |    76 -
 .../solr/common/params/CollectionAdminParams.java  |    11 +-
 .../solr/common/params/CollectionParams.java       |    44 +-
 .../apache/solr/common/params/CommonParams.java    |    33 +-
 .../org/apache/solr/common/params/FacetParams.java |     4 +-
 .../apache/solr/common/params/MapSolrParams.java   |    22 +-
 .../solr/common/params/MultiMapSolrParams.java     |     5 +
 .../org/apache/solr/common/params/SolrParams.java  |     7 +-
 .../apache/solr/common/params/StreamParams.java    |    41 +
 .../common/util/ByteArrayUtf8CharSequence.java     |     6 +-
 .../apache/solr/common/util/CommandOperation.java  |    16 +-
 .../apache/solr/common/util/ContentStreamBase.java |     3 +-
 .../org/apache/solr/common/util/ExecutorUtil.java  |    12 +-
 .../solr/common/util/FastJavaBinDecoder.java       |     6 +
 .../src/java/org/apache/solr/common/util/Hash.java |     2 +
 .../org/apache/solr/common/util/JavaBinCodec.java  |    28 +-
 .../apache/solr/common/util/JsonRecordReader.java  |    10 +
 .../apache/solr/common/util/JsonSchemaCreator.java |     3 +-
 .../solr/common/util/JsonSchemaValidator.java      |    22 +-
 .../apache/solr/common/util/JsonTextWriter.java    |    19 +-
 .../solr/common/util/LinkedSimpleHashMap.java      |    34 +
 .../apache/solr/common/util/MapBackedCache.java    |     4 +
 .../org/apache/solr/common/util/NamedList.java     |    59 +-
 .../src/java/org/apache/solr/common/util/Pair.java |     1 +
 .../java/org/apache/solr/common/util/PathTrie.java |    50 +-
 .../apache/solr/common/util/ReflectMapWriter.java  |    29 +-
 .../org/apache/solr/common/util/RetryUtil.java     |    13 +-
 .../solr/common/util/SolrNamedThreadFactory.java   |    52 +
 .../solr/common/util/SolrjNamedThreadFactory.java  |    49 -
 .../java/org/apache/solr/common/util/StrUtils.java |     2 +-
 .../org/apache/solr/common/util/TextWriter.java    |    21 +-
 .../org/apache/solr/common/util/TimeSource.java    |     4 +-
 .../java/org/apache/solr/common/util/Utils.java    |   192 +-
 .../apache/solr/common/util/ValidatingJsonMap.java |    19 +-
 .../apache/solr/common/util/WrappedSimpleMap.java  |    49 +
 .../apache/solr/common/util/XMLErrorLogger.java    |     4 +-
 solr/solrj/src/java/org/noggit/CharArr.java        |   262 +-
 solr/solrj/src/java/org/noggit/JSONParser.java     |     2 +-
 .../resources/apispec/autoscaling.Commands.json    |   199 -
 .../src/resources/apispec/autoscaling.history.json |    61 -
 .../src/resources/apispec/cluster.Commands.json    |    28 -
 .../resources/apispec/collections.Commands.json    |    15 -
 .../apispec/collections.collection.Commands.json   |     8 +-
 .../collections.collection.Commands.modify.json    |    15 -
 ...collections.collection.shards.shard.delete.json |     2 +-
 ...ons.collection.shards.shard.replica.delete.json |     2 +-
 solr/solrj/src/test-files/log4j2.xml               |    45 +-
 .../src/test-files/solrj/javabin_backcompat.bin    |   Bin 169 -> 170 bytes
 .../solr/autoscaling/testAddMissingReplica.json    |   123 -
 .../autoscaling/testAutoScalingHandlerFailure.json |   141 -
 ...testAutoscalingPreferencesUsedWithNoPolicy.json |    53 -
 .../autoscaling/testComputePlanAfterNodeAdded.json |    16 -
 .../solr/autoscaling/testCoresSuggestions.json     |    17 -
 .../testCreateCollectionWithEmptyPolicy.json       |    20 -
 .../solrj/solr/autoscaling/testDiskSpaceHint.json  |    16 -
 .../solr/autoscaling/testEmptyCollection.json      |    27 -
 .../solrj/solr/autoscaling/testEqualOnNonNode.json |    83 -
 .../solr/autoscaling/testFreeDiskDeviation.json    |    35 -
 .../solr/autoscaling/testFreeDiskSuggestions.json  |    27 -
 .../solr/autoscaling/testFreediskPercentage.json   |    25 -
 .../solrj/solr/autoscaling/testHostAttribute.json  |   119 -
 .../solrj/solr/autoscaling/testInfiniteLoop.json   | 13196 -------------------
 .../solr/autoscaling/testMoveReplicaSuggester.json |    15 -
 .../testMoveReplicasInMultipleCollections.json     |    88 -
 .../solrj/solr/autoscaling/testPolicy.json         |    41 -
 .../solr/autoscaling/testPortSuggestions.json      |    22 -
 .../autoscaling/testReplicaCountSuggestions.json   |    15 -
 .../solr/autoscaling/testReplicaPercentage.json    |    46 -
 .../autoscaling/testReplicaZonesPercentage.json    |    15 -
 .../autoscaling/testScheduledTriggerFailure.json   |    52 -
 .../solrj/solr/autoscaling/testSortError.json      |   225 -
 .../autoscaling/testSuggestionsRebalance2.json     |   130 -
 .../autoscaling/testSuggestionsRebalanceOnly.json  |   105 -
 .../solr/autoscaling/testSysPropSuggestions.json   |   127 -
 .../solr/autoscaling/testSyspropSuggestions1.json  |    24 -
 .../solr/autoscaling/testUnresolvedSuggestion.json |   212 -
 .../solr/autoscaling/testUtilizeNodeFailure.json   |    69 -
 .../solr/autoscaling/testUtilizeNodeFailure2.json  |    66 -
 .../solr/autoscaling/testViolationOutput.json      |    22 -
 .../solrj/solr/autoscaling/testWithCollection.json |    21 -
 .../autoscaling/testWithCollectionMoveReplica.json |    28 -
 .../testWithCollectionMoveVsAddSuggestions.json    |    49 -
 .../autoscaling/testWithCollectionSuggestions.json |    21 -
 ...rconfig-slave1.xml => solrconfig-follower1.xml} |     0
 .../ref_guide_examples/JsonRequestApiTest.java     |     4 +-
 .../UsingSolrJRefGuideExamplesTest.java            |    59 +-
 .../org/apache/solr/client/solrj/GetByIdTest.java  |    27 +-
 .../solr/client/solrj/LargeVolumeTestBase.java     |    10 +-
 .../client/solrj/MergeIndexesExampleTestBase.java  |    15 +-
 .../apache/solr/client/solrj/SolrExampleTests.java |    21 +-
 .../client/solrj/SolrSchemalessExampleTest.java    |     2 +
 .../solr/client/solrj/TestLBHttp2SolrClient.java   |     9 +-
 .../solr/client/solrj/TestLBHttpSolrClient.java    |     9 +-
 .../solr/client/solrj/TestSolrJErrorHandling.java  |    20 +-
 .../solrj/beans/TestDocumentObjectBinder.java      |     1 +
 .../solrj/cloud/autoscaling/ConditionTest.java     |    80 -
 .../autoscaling/MoveReplicaSuggesterTest.java      |   104 -
 .../client/solrj/cloud/autoscaling/TestPolicy.java |  3092 -----
 .../solrj/cloud/autoscaling/TestPolicy2.java       |   505 -
 .../solrj/cloud/autoscaling/TestPolicy2Old.java    |    26 -
 .../solrj/cloud/autoscaling/TestPolicyOld.java     |    25 -
 .../solrj/embedded/SolrExampleJettyTest.java       |     1 +
 .../solrj/embedded/TestEmbeddedSolrServer.java     |     2 +-
 .../client/solrj/impl/BasicHttpSolrClientTest.java |    53 +-
 .../impl/CloudHttp2SolrClientBadInputTest.java     |     4 +-
 .../solrj/impl/CloudHttp2SolrClientRetryTest.java  |     1 +
 .../solrj/impl/CloudHttp2SolrClientTest.java       |    45 +-
 .../solrj/impl/CloudSolrClientBadInputTest.java    |     4 +-
 .../solrj/impl/CloudSolrClientBuilderTest.java     |     2 +-
 .../solrj/impl/CloudSolrClientCacheTest.java       |    15 +-
 .../solrj/impl/CloudSolrClientRetryTest.java       |     1 +
 .../client/solrj/impl/CloudSolrClientTest.java     |    41 +-
 ...oncurrentUpdateHttp2SolrClientBadInputTest.java |     4 +-
 .../impl/ConcurrentUpdateHttp2SolrClientTest.java  |     6 +-
 .../ConcurrentUpdateSolrClientBadInputTest.java    |     4 +-
 .../ConcurrentUpdateSolrClientBuilderTest.java     |     2 +-
 .../solrj/impl/ConcurrentUpdateSolrClientTest.java |     6 +-
 .../impl/Http2SolrClientCompatibilityTest.java     |     7 +-
 .../client/solrj/impl/Http2SolrClientTest.java     |    44 +-
 .../solr/client/solrj/impl/HttpClientUtilTest.java |    16 +-
 .../solrj/impl/HttpSolrClientBadInputTest.java     |     4 +-
 .../solrj/impl/HttpSolrClientConPoolTest.java      |     4 +-
 .../solrj/impl/LBHttpSolrClientBadInputTest.java   |     4 +-
 .../solr/client/solrj/impl/LBSolrClientTest.java   |    90 +
 .../org/apache/solr/client/solrj/io/TestLang.java  |     4 +-
 .../client/solrj/io/graph/GraphExpressionTest.java |    16 +-
 .../solr/client/solrj/io/graph/GraphTest.java      |    10 +-
 .../apache/solr/client/solrj/io/sql/JdbcTest.java  |     2 +
 .../solrj/io/stream/CloudAuthStreamTest.java       |     9 +-
 .../client/solrj/io/stream/JDBCStreamTest.java     |     4 +-
 .../client/solrj/io/stream/MathExpressionTest.java |   258 +-
 .../client/solrj/io/stream/RecordCountStream.java  |     2 +-
 .../solrj/io/stream/SelectWithEvaluatorsTest.java  |    10 +-
 .../solrj/io/stream/StreamDecoratorTest.java       |    33 +-
 .../solrj/io/stream/StreamExpressionTest.java      |   417 +-
 .../solr/client/solrj/io/stream/StreamingTest.java |    15 +-
 .../solrj/io/stream/eval/AscEvaluatorTest.java     |     6 +
 .../io/stream/eval/ConversionEvaluatorsTest.java   |    27 +-
 .../solrj/io/stream/eval/ReverseEvaluatorTest.java |     1 +
 .../io/stream/eval/TemporalEvaluatorsTest.java     |     4 +-
 .../solrj/io/stream/ops/ConcatOperationTest.java   |     4 +-
 .../client/solrj/io/stream/ops/OperationsTest.java |     4 +-
 .../solr/client/solrj/request/SchemaTest.java      |    14 +-
 .../solrj/request/TestConfigSetAdminRequest.java   |     3 +-
 .../solr/client/solrj/request/TestCoreAdmin.java   |    12 +-
 .../solrj/request/TestUpdateRequestCodec.java      |     6 +-
 .../solr/client/solrj/request/TestV2Request.java   |     6 +-
 .../client/solrj/request/json/DomainMapTest.java   |     7 +
 .../solrj/response/AnlysisResponseBaseTest.java    |     6 +-
 .../response/DocumentAnalysisResponseTest.java     |     2 +
 .../solrj/response/FieldAnalysisResponseTest.java  |     2 +
 .../solrj/response/NoOpResponseParserTest.java     |     2 +
 .../client/solrj/response/QueryResponseTest.java   |     1 +
 .../response/TestDelegationTokenResponse.java      |     2 +-
 ...RequestReplicaListTransformerGeneratorTest.java |    17 +-
 .../org/apache/solr/common/SolrDocumentTest.java   |     7 +-
 .../solr/common/TestToleratedUpdateError.java      |     2 +
 .../apache/solr/common/cloud/SolrZkClientTest.java |    12 +-
 .../cloud/TestCloudCollectionsListeners.java       |   110 -
 .../common/cloud/TestCollectionStateWatchers.java  |    23 -
 .../common/cloud/TestDocCollectionWatcher.java     |    26 -
 .../solr/common/params/CommonParamsTest.java       |     2 +
 .../apache/solr/common/util/JsonValidatorTest.java |     3 +
 .../org/apache/solr/common/util/NamedListTest.java |     5 +-
 .../solr/common/util/TestFastJavabinDecoder.java   |    13 +
 .../apache/solr/common/util/TestJavaBinCodec.java  |   103 +-
 .../solr/common/util/TestJsonRecordReader.java     |     5 +
 .../solr/common/util/TestNamedListCodec.java       |    15 +
 .../org/apache/solr/common/util/TestPathTrie.java  |    10 +
 .../solr/common/util/TestSolrJsonWriter.java       |   102 +-
 .../solr/common/util/TestValidatingJsonMap.java    |     1 +
 .../solr/common/util/TestZkMaintenanceUtils.java   |    55 +
 .../solr/common/util/Utf8CharSequenceTest.java     |     6 +
 solr/test-framework/{README.txt => README.md}      |     0
 solr/test-framework/build.gradle                   |     3 +-
 solr/test-framework/build.xml                      |     2 +-
 solr/test-framework/ivy.xml                        |     2 +-
 .../apache/solr/BaseDistributedSearchTestCase.java |    31 +-
 .../src/java/org/apache/solr/JSONTestUtil.java     |     7 +
 .../org/apache/solr/SolrIgnoredThreadsFilter.java  |     5 +
 .../java/org/apache/solr/SolrJettyTestBase.java    |     2 +-
 .../src/java/org/apache/solr/SolrTestCase.java     |    12 +-
 .../src/java/org/apache/solr/SolrTestCaseHS.java   |    95 +-
 .../src/java/org/apache/solr/SolrTestCaseJ4.java   |   129 +-
 .../solr/analysis/MockCharFilterFactory.java       |     5 +
 .../solr/analysis/MockTokenFilterFactory.java      |     5 +
 .../apache/solr/analysis/MockTokenizerFactory.java |     5 +
 .../solr/cloud/AbstractDistribZkTestBase.java      |    54 +-
 .../solr/cloud/AbstractFullDistribZkTestBase.java  |   183 +-
 .../java/org/apache/solr/cloud/ChaosMonkey.java    |    12 +-
 .../org/apache/solr/cloud/CloudInspectUtil.java    |    23 +-
 .../java/org/apache/solr/cloud/ConfigRequest.java  |     6 +
 .../src/java/org/apache/solr/cloud/IpTables.java   |     4 +-
 .../apache/solr/cloud/MiniSolrCloudCluster.java    |    19 +-
 .../apache/solr/cloud/MultiSolrCloudTestCase.java  |     5 +-
 .../apache/solr/cloud/SolrCloudAuthTestCase.java   |     4 +
 .../org/apache/solr/cloud/SolrCloudTestCase.java   |     9 +-
 .../apache/solr/cloud/StoppableCommitThread.java   |     4 +-
 .../apache/solr/cloud/StoppableSearchThread.java   |     2 +-
 .../java/org/apache/solr/cloud/ZkTestServer.java   |    29 +-
 .../solr/core/MockConcurrentMergeScheduler.java    |     3 +-
 .../apache/solr/core/MockTracerConfigurator.java   |     2 +-
 .../component/TrackingShardHandlerFactory.java     |    67 +-
 .../org/apache/solr/util/RandomMergePolicy.java    |     4 +-
 .../java/org/apache/solr/util/RandomizeSSL.java    |     4 +-
 .../java/org/apache/solr/util/RestTestBase.java    |    71 +-
 .../java/org/apache/solr/util/SSLTestConfig.java   |    26 +-
 .../src/java/org/apache/solr/util/TestHarness.java |    35 +-
 solr/webapp/build.gradle                           |     2 +
 solr/webapp/web/css/angular/collections.css        |     2 +-
 solr/webapp/web/css/angular/dashboard.css          |     4 +-
 solr/webapp/web/css/angular/dataimport.css         |     3 +-
 solr/webapp/web/css/angular/index.css              |     5 +
 solr/webapp/web/css/angular/menu.css               |     3 +-
 solr/webapp/web/css/angular/replication.css        |    10 +-
 solr/webapp/web/css/angular/suggestions.css        |    64 -
 .../img/ico/{node-slave.png => node-follower.png}  |   Bin
 .../img/ico/{node-master.png => node-leader.png}   |   Bin
 solr/webapp/web/index.html                         |    31 +-
 solr/webapp/web/js/angular/app.js                  |     4 -
 solr/webapp/web/js/angular/controllers/cloud.js    |     9 +-
 .../js/angular/controllers/cluster-suggestions.js  |    62 -
 .../web/js/angular/controllers/collections.js      |     8 +-
 .../web/js/angular/controllers/core-overview.js    |     4 +-
 solr/webapp/web/js/angular/controllers/index.js    |     6 +
 solr/webapp/web/js/angular/controllers/login.js    |     2 +-
 .../web/js/angular/controllers/replication.js      |   108 +-
 solr/webapp/web/libs/angular-chosen.min.js         |     4 +-
 solr/webapp/web/partials/cloud.html                |     3 +-
 solr/webapp/web/partials/cluster_suggestions.html  |    49 -
 solr/webapp/web/partials/collection_overview.html  |     6 -
 solr/webapp/web/partials/collections.html          |    20 -
 solr/webapp/web/partials/core_overview.html        |    38 +-
 solr/webapp/web/partials/dataimport.html           |     1 +
 solr/webapp/web/partials/index.html                |    34 +
 solr/webapp/web/partials/login.html                |    17 +
 solr/webapp/web/partials/replication.html          |    62 +-
 versions.lock                                      |   121 +-
 versions.props                                     |    32 +-
 3441 files changed, 84058 insertions(+), 139424 deletions(-)

diff --cc lucene/core/src/java/org/apache/lucene/search/MultiCollector.java
index 56965e6,5cb6db8..ab426de
--- a/lucene/core/src/java/org/apache/lucene/search/MultiCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/MultiCollector.java
@@@ -116,14 -115,9 +116,14 @@@ public class MultiCollector implements 
      return scoreMode;
    }
  
 +  // nocommit: need to raise a LUCENE jira for this?
 +  public List<Collector> getCollectors() {
 +    return Collections.unmodifiableList(Arrays.asList(collectors));
 +  }
 +
    @Override
    public LeafCollector getLeafCollector(LeafReaderContext context) throws IOException {
-     final List<LeafCollector> leafCollectors = new ArrayList<>();
+     final List<LeafCollector> leafCollectors = new ArrayList<>(collectors.length);
      for (Collector collector : collectors) {
        final LeafCollector leafCollector;
        try {
diff --cc solr/core/src/java/org/apache/solr/core/CoreContainer.java
index fc59fc7,b5cd2d7..1203eb7
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@@ -182,12 -196,11 +196,13 @@@ public class CoreContainer 
    private volatile UpdateShardHandler updateShardHandler;
  
    private volatile ExecutorService coreContainerWorkExecutor = ExecutorUtil.newMDCAwareCachedThreadPool(
-       new DefaultSolrThreadFactory("coreContainerWorkExecutor"));
+       new SolrNamedThreadFactory("coreContainerWorkExecutor"));
  
 +  final private ExecutorService collectorExecutor;
 +
    private final OrderedExecutor replayUpdatesExecutor;
  
+   @SuppressWarnings({"rawtypes"})
    protected volatile LogWatcher logging = null;
  
    private volatile CloserThread backgroundCloser = null;
@@@ -354,11 -344,30 +346,32 @@@
          cfg.getReplayUpdatesThreads(),
          ExecutorUtil.newMDCAwareCachedThreadPool(
              cfg.getReplayUpdatesThreads(),
-             new DefaultSolrThreadFactory("replayUpdatesExecutor")));
+             new SolrNamedThreadFactory("replayUpdatesExecutor")));
 -
 +    this.collectorExecutor = ExecutorUtil.newMDCAwareCachedThreadPool(cfg.getCollectorsPoolSize(),
-         new DefaultSolrThreadFactory("searcherCollectorExecutor"));
++            new SolrNamedThreadFactory("searcherCollectorExecutor"));
++    
+     this.allowPaths = new java.util.HashSet<>();
+     this.allowPaths.add(cfg.getSolrHome());
+     this.allowPaths.add(cfg.getCoreRootDirectory());
+     if (cfg.getSolrDataHome() != null) {
+       this.allowPaths.add(cfg.getSolrDataHome());
+     }
+     if (!cfg.getAllowPaths().isEmpty()) {
+       this.allowPaths.addAll(cfg.getAllowPaths());
+       if (log.isInfoEnabled()) {
+         log.info("Allowing use of paths: {}", cfg.getAllowPaths());
+       }
+     }
+ 
+     Path userFilesPath = getUserFilesPath(); // TODO make configurable on cfg?
+     try {
+       Files.createDirectories(userFilesPath); // does nothing if already exists
+     } catch (Exception e) {
+       log.warn("Unable to create [{}].  Features requiring this directory may fail.", userFilesPath, e);
+     }
    }
  
+   @SuppressWarnings({"unchecked"})
    private synchronized void initializeAuthorizationPlugin(Map<String, Object> authorizationConf) {
      authorizationConf = Utils.getDeepCopy(authorizationConf, 4);
      int newVersion = readVersion(authorizationConf);
@@@ -547,7 -559,6 +563,7 @@@
      cfg = null;
      containerProperties = null;
      replayUpdatesExecutor = null;
-     this.collectorExecutor = ExecutorUtil.newMDCAwareCachedThreadPool(new DefaultSolrThreadFactory("searcherCollectorExecutor"));
++    this.collectorExecutor = ExecutorUtil.newMDCAwareCachedThreadPool(new SolrNamedThreadFactory("searcherCollectorExecutor"));
    }
  
    public static CoreContainer createAndLoad(Path solrHome) {
@@@ -963,11 -983,12 +988,13 @@@
        OverseerTaskQueue overseerCollectionQueue = zkController.getOverseerCollectionQueue();
        overseerCollectionQueue.allowOverseerPendingTasksToComplete();
      }
-     log.info("Shutting down CoreContainer instance=" + System.identityHashCode(this));
+     if (log.isInfoEnabled()) {
+       log.info("Shutting down CoreContainer instance={}", System.identityHashCode(this));
+     }
  
 +    ExecutorUtil.shutdownAndAwaitTermination(collectorExecutor);
      ExecutorUtil.shutdownAndAwaitTermination(coreContainerAsyncTaskExecutor);
-     ExecutorService customThreadPool = ExecutorUtil.newMDCAwareCachedThreadPool(new SolrjNamedThreadFactory("closeThreadPool"));
+     ExecutorService customThreadPool = ExecutorUtil.newMDCAwareCachedThreadPool(new SolrNamedThreadFactory("closeThreadPool"));
  
      isShutDown = true;
      try {
diff --cc solr/core/src/java/org/apache/solr/core/NodeConfig.java
index a701beb,ef8fddb..090d2e0
--- a/solr/core/src/java/org/apache/solr/core/NodeConfig.java
+++ b/solr/core/src/java/org/apache/solr/core/NodeConfig.java
@@@ -88,9 -94,12 +96,12 @@@ public class NodeConfig 
                       String coreAdminHandlerClass, String collectionsAdminHandlerClass,
                       String healthCheckHandlerClass, String infoHandlerClass, String configSetsHandlerClass,
                       LogWatcherConfig logWatcherConfig, CloudConfig cloudConfig, Integer coreLoadThreads, int replayUpdatesThreads,
-                      int collectorsPoolSize, int transientCacheSize, boolean useSchemaCache, String managementPath, SolrResourceLoader loader,
 -                     int transientCacheSize, boolean useSchemaCache, String managementPath,
++                     int collectorsPoolSize, int transientCacheSize, boolean useSchemaCache, String managementPath,
+                      Path solrHome, SolrResourceLoader loader,
                       Properties solrProperties, PluginInfo[] backupRepositoryPlugins,
-                      MetricsConfig metricsConfig, PluginInfo transientCacheConfig, PluginInfo tracerConfig) {
+                      MetricsConfig metricsConfig, PluginInfo transientCacheConfig, PluginInfo tracerConfig,
+                      boolean fromZookeeper, Set<Path> allowPaths) {
+     // all Path params here are absolute and normalized.
      this.nodeName = nodeName;
      this.coreRootDirectory = coreRootDirectory;
      this.solrDataHome = solrDataHome;
@@@ -449,8 -481,14 +495,14 @@@
        return new NodeConfig(nodeName, coreRootDirectory, solrDataHome, booleanQueryMaxClauseCount,
                              configSetBaseDirectory, sharedLibDirectory, shardHandlerFactoryConfig,
                              updateShardHandlerConfig, coreAdminHandlerClass, collectionsAdminHandlerClass, healthCheckHandlerClass, infoHandlerClass, configSetsHandlerClass,
-                             logWatcherConfig, cloudConfig, coreLoadThreads, replayUpdatesThreads, collectorsPoolSize, transientCacheSize, useSchemaCache, managementPath, loader, solrProperties,
-                             backupRepositoryPlugins, metricsConfig, transientCacheConfig, tracerConfig);
 -                            logWatcherConfig, cloudConfig, coreLoadThreads, replayUpdatesThreads, transientCacheSize, useSchemaCache, managementPath,
++                            logWatcherConfig, cloudConfig, coreLoadThreads, replayUpdatesThreads, collectorsPoolSize, transientCacheSize, useSchemaCache, managementPath,
+                             solrHome, loader, solrProperties,
+                             backupRepositoryPlugins, metricsConfig, transientCacheConfig, tracerConfig, fromZookeeper, allowPaths);
+     }
+ 
+     public NodeConfigBuilder setSolrResourceLoader(SolrResourceLoader resourceLoader) {
+       this.loader = resourceLoader;
+       return this;
      }
    }
  }
diff --cc solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
index 67d6539,853da1c..ce3fde8
--- a/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
@@@ -910,9 -925,14 +925,14 @@@ public class QueryComponent extends Sea
            maxScore = maxScore==null ? docs.getMaxScore() : Math.max(maxScore, docs.getMaxScore());
          }
          numFound += docs.getNumFound();
+         
+         if (hitCountIsExact && Boolean.FALSE.equals(docs.getNumFoundExact())) {
+           hitCountIsExact = false;
+         }
  
+         @SuppressWarnings({"rawtypes"})
          NamedList sortFieldValues = (NamedList)(srsp.getSolrResponse().getResponse().get("sort_values"));
 -        if (sortFieldValues.size()==0 && // we bypass merging this response only if it's partial itself
 +        if (sortFieldValues == null || sortFieldValues.size()==0 && // we bypass merging this response only if it's partial itself
                              thisResponseIsPartial) { // but not the previous one!!
            continue; //fsv timeout yields empty sort_vlaues
          }
diff --cc solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
index 034a488,3ebd43c..663d3c9
--- a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
@@@ -1612,35 -1587,24 +1589,44 @@@ public class SolrIndexSearcher extends 
        maxScore = totalHits > 0 ? topscore[0] : 0.0f;
        // no docs on this page, so cursor doesn't change
        qr.setNextCursorMark(cmd.getCursorMark());
+       hitsRelation = Relation.EQUAL_TO;
      } else {
 -      final TopDocsCollector<?> topCollector = buildTopDocsCollector(len, cmd);
 -      MaxScoreCollector maxScoreCollector = null;
 -      Collector collector = topCollector;
 -      if ((cmd.getFlags() & GET_SCORES) != 0) {
 -        maxScoreCollector = new MaxScoreCollector();
 -        collector = MultiCollector.wrap(topCollector, maxScoreCollector);
 -      }
 -      ScoreMode scoreModeUsed = buildAndRunCollectorChain(qr, query, collector, cmd, pf.postFilter).scoreMode();
 +      TopDocs topDocs;
 +      log.info("calling from 2, query: "+query.getClass()); // nocommit
 +      if (pf.postFilter != null || cmd.getSegmentTerminateEarly() || cmd.getTimeAllowed() > 0 
 +          || query instanceof RankQuery || query instanceof GraphQuery) {
 +        log.debug("skipping collector manager");
-         final TopDocsCollector topCollector = buildTopDocsCollector(len, cmd);
++        final TopDocsCollector<?> topCollector = buildTopDocsCollector(len, cmd);
 +        MaxScoreCollector maxScoreCollector = null;
 +        Collector collector = topCollector;
 +        if ((cmd.getFlags() & GET_SCORES) != 0) {
 +          maxScoreCollector = new MaxScoreCollector();
 +          collector = MultiCollector.wrap(topCollector, maxScoreCollector);
 +        }
-         buildAndRunCollectorChain(qr, query, collector, cmd, pf.postFilter);
++        ScoreMode scoreModeUsed = buildAndRunCollectorChain(qr, query, collector, cmd, pf.postFilter).scoreMode();
+ 
 -      totalHits = topCollector.getTotalHits();
 -      TopDocs topDocs = topCollector.topDocs(0, len);
 -      if (scoreModeUsed == ScoreMode.COMPLETE || scoreModeUsed == ScoreMode.COMPLETE_NO_SCORES) {
 -        hitsRelation = TotalHits.Relation.EQUAL_TO;
 +        totalHits = topCollector.getTotalHits();
 +        topDocs = topCollector.topDocs(0, len);
- 
-         maxScore = totalHits > 0 ? (maxScoreCollector == null ? Float.NaN : maxScoreCollector.getMaxScore()) : 0.0f;
++        if (scoreModeUsed == ScoreMode.COMPLETE || scoreModeUsed == ScoreMode.COMPLETE_NO_SCORES) {
++          hitsRelation = TotalHits.Relation.EQUAL_TO;
++        } else {
++          hitsRelation = topDocs.totalHits.relation;
++        }
 +        nDocsReturned = topDocs.scoreDocs.length;
++        maxScore = totalHits > 0 ? (maxScoreCollector == null ? Float.NaN : maxScoreCollector.getMaxScore()) : 0.0f;
        } else {
 +        log.debug("using collectormanager");
 +        CollectorManagerResult result = searchCollectorManagers(len, cmd, query, true, true, false); // nocommit: need docset should be false
 +        totalHits = result.totalHits;
 +
 +        maxScore = result.maxScore;
 +        nDocsReturned = result.topDocs.scoreDocs.length;
 +        topDocs = result.topDocs;
++
++        //TODO: Is this correct?
+         hitsRelation = topDocs.totalHits.relation;
        }
 +
        if (cmd.getSort() != null && query instanceof RankQuery == false && (cmd.getFlags() & GET_SCORES) != 0) {
          TopFieldCollector.populateScores(topDocs.scoreDocs, this, query);
        }
@@@ -1657,86 -1623,9 +1643,88 @@@
  
      int sliceLen = Math.min(lastDocRequested, nDocsReturned);
      if (sliceLen < 0) sliceLen = 0;
-     qr.setDocList(new DocSlice(0, sliceLen, ids, scores, totalHits, maxScore));
+     qr.setDocList(new DocSlice(0, sliceLen, ids, scores, totalHits, maxScore, hitsRelation));
    }
  
 +  CollectorManagerResult searchCollectorManagers(int len, QueryCommand cmd, Query query,
 +      boolean needTopDocs, boolean needMaxScore, boolean needDocSet) throws IOException {
 +    CollectorManager<MultiCollector, CollectorManagerResult> manager = new CollectorManager<MultiCollector, CollectorManagerResult>() {
 +      @Override
 +      public MultiCollector newCollector() throws IOException {
-         // nocommit: Here, creating a MultiCollector for every segment (correctness > speed).
-         // Need to explore sharing a single MultiCollector with every segment. Are these
-         // sub-collectors thread-safe? DocSetCollector seems like not thread-safe, does someone know?
++        // TODO: DocCollector is not thread safe.
 +        Collection<Collector> collectors = new ArrayList<Collector>();
 +        if (needTopDocs) collectors.add(buildTopDocsCollector(len, cmd));
 +        if (needMaxScore) collectors.add(new MaxScoreCollector());
 +        if (needDocSet) collectors.add(new DocSetCollector(maxDoc()));
 +        return (MultiCollector) MultiCollector.wrap(collectors);
 +      }
 +
 +      @Override
 +      public CollectorManagerResult reduce(Collection<MultiCollector> multiCollectors) throws IOException {
 +        final TopDocs[] topDocs = new TopDocs[multiCollectors.size()];
 +        float maxScore = 0.0f;
 +        DocSet docSet = new BitDocSet(new FixedBitSet(maxDoc())); // TODO: if docset is not needed, avoid this initialization
 +        int i = 0;
 +        for (MultiCollector multiCollector: multiCollectors) {
 +          int c = 0;
 +          List<Collector> subCollectors = multiCollector.getCollectors();
 +          TopDocsCollector topDocsCollector = needTopDocs? ((TopDocsCollector) subCollectors.get(c++)): null;
 +          MaxScoreCollector maxScoreCollector = needMaxScore? ((MaxScoreCollector) subCollectors.get(c++)): null;
 +          DocSetCollector docSetCollector = needDocSet? ((DocSetCollector) subCollectors.get(c++)): null;
 +          
-           if (needTopDocs)  topDocs[i++] = (topDocsCollector instanceof TopFieldCollector)? ((TopFieldCollector)topDocsCollector).topDocs(0, len): topDocsCollector.topDocs(0, len);
++          if (needTopDocs)  topDocs[i++] = topDocsCollector.topDocs(0, len);
 +          if (needMaxScore) 
 +            if (!Float.isNaN(maxScoreCollector.getMaxScore()))
 +              maxScore = Math.max(maxScore, maxScoreCollector.getMaxScore());
-           if (needDocSet)   docSet = docSet.union(docSetCollector.getDocSet());
++          if (needDocSet) {
++            if (docSet == null) {
++              docSet = docSetCollector.getDocSet(); // TODO: Should this be always true? Convert null check into assert?
++            }
++          }
 +        }
 +        TopDocs mergedTopDocs;
 +        if (topDocs != null && topDocs.length>0 && topDocs[0] instanceof TopFieldDocs) {
 +          TopFieldDocs[] topFieldDocs = Arrays.copyOf(topDocs, topDocs.length, TopFieldDocs[].class);
 +          mergedTopDocs = TopFieldDocs.merge(weightSort(cmd.getSort()), len, topFieldDocs);
 +        } else {
 +          mergedTopDocs = needTopDocs? TopDocs.merge(0, len, topDocs): null;
 +        }
 +        int totalHits = needTopDocs? (int)mergedTopDocs.totalHits.value: -1;
 +        maxScore = totalHits > 0 ? maxScore : 0.0f;
 +        return new CollectorManagerResult(mergedTopDocs, docSet, maxScore, totalHits);
 +      }
 +
 +    };
 +
 +    CollectorManagerResult ret;
 +    try {
 +      ret = super.search(query, manager);
 +    } catch (Exception ex) {
 +      if (ex instanceof RuntimeException && 
 +          ex.getCause() != null & ex.getCause() instanceof ExecutionException
 +          && ex.getCause().getCause() != null && ex.getCause().getCause() instanceof RuntimeException) {
 +        throw (RuntimeException)ex.getCause().getCause();
 +      } else {
 +        throw ex;
 +      }
 +    }
 +    return ret;
 +  }
 +
 +  class CollectorManagerResult {
-     TopDocs topDocs;
-     DocSet docSet;
-     float maxScore;
-     int totalHits;
++    final TopDocs topDocs;
++    final DocSet docSet;
++    final float maxScore;
++    final int totalHits;
 +    
 +    public CollectorManagerResult(TopDocs topDocs, DocSet docSet, float maxScore, int totalHits) {
 +      this.topDocs = topDocs;
 +      this.docSet = docSet;
 +      this.maxScore = maxScore;
 +      this.totalHits = totalHits;
 +    }
 +  }
 +  
    // any DocSet returned is for the query only, without any filtering... that way it may
    // be cached if desired.
    private DocSet getDocListAndSetNC(QueryResult qr, QueryCommand cmd) throws IOException {
@@@ -1806,48 -1693,34 +1792,44 @@@
        // no docs on this page, so cursor doesn't change
        qr.setNextCursorMark(cmd.getCursorMark());
      } else {
 -      @SuppressWarnings({"rawtypes"})
 -      final TopDocsCollector topCollector = buildTopDocsCollector(len, cmd);
 -      DocSetCollector setCollector = new DocSetCollector(maxDoc);
 -      MaxScoreCollector maxScoreCollector = null;
 -      List<Collector> collectors = new ArrayList<>(Arrays.asList(topCollector, setCollector));
 -
 -      if ((cmd.getFlags() & GET_SCORES) != 0) {
 -        maxScoreCollector = new MaxScoreCollector();
 -        collectors.add(maxScoreCollector);
 -      }
 +      TopDocs topDocs;
++
 +      if (pf.postFilter != null || cmd.getSegmentTerminateEarly() || cmd.getTimeAllowed() > 0
 +          || query instanceof RankQuery || query instanceof GraphQuery) {
-   
 +        final TopDocsCollector topCollector = buildTopDocsCollector(len, cmd);
 +        DocSetCollector setCollector = new DocSetCollector(maxDoc);
 +        MaxScoreCollector maxScoreCollector = null;
 +        List<Collector> collectors = new ArrayList<>(Arrays.asList(topCollector, setCollector));
-   
++
 +        if ((cmd.getFlags() & GET_SCORES) != 0) {
 +          maxScoreCollector = new MaxScoreCollector();
 +          collectors.add(maxScoreCollector);
 +        }
-   
-         Collector collector = MultiCollector.wrap(collectors);
-         log.info("calling from 4");  // nocommit
-         buildAndRunCollectorChain(qr, query, collector, cmd, pf.postFilter);
-   
-         set = DocSetUtil.getDocSet(setCollector, this);
-   
+ 
 -      Collector collector = MultiCollector.wrap(collectors);
 +        totalHits = topCollector.getTotalHits();
++        set = DocSetUtil.getDocSet(setCollector, this);
+ 
 -      buildAndRunCollectorChain(qr, query, collector, cmd, pf.postFilter);
 -
 -      set = DocSetUtil.getDocSet(setCollector, this);
 +        assert (totalHits == set.size()) || qr.isPartialResults();
-   
+ 
 -      totalHits = topCollector.getTotalHits();
 -      assert (totalHits == set.size()) || qr.isPartialResults();
 -
 -      TopDocs topDocs = topCollector.topDocs(0, len);
 +        topDocs = topCollector.topDocs(0, len);
 +        maxScore = totalHits > 0 ? (maxScoreCollector == null ? Float.NaN : maxScoreCollector.getMaxScore()) : 0.0f;
-         nDocsReturned = topDocs.scoreDocs.length;
 +      } else {
 +        log.debug("using collectormanager");
 +        CollectorManagerResult result = searchCollectorManagers(len, cmd, query, true, true, true);
 +        set = result.docSet;
 +        totalHits = result.totalHits;
-         assert (totalHits == set.size()) || qr.isPartialResults();
++        //assert (totalHits == set.size()) || qr.isPartialResults();
 +        topDocs = result.topDocs;
 +        maxScore = result.maxScore;
-         nDocsReturned = result.topDocs.scoreDocs.length;        
 +      }
 +      
        if (cmd.getSort() != null && query instanceof RankQuery == false && (cmd.getFlags() & GET_SCORES) != 0) {
          TopFieldCollector.populateScores(topDocs.scoreDocs, this, query);
        }
        populateNextCursorMarkFromTopDocs(qr, cmd, topDocs);
 -      maxScore = totalHits > 0 ? (maxScoreCollector == null ? Float.NaN : maxScoreCollector.getMaxScore()) : 0.0f;
 +
+       nDocsReturned = topDocs.scoreDocs.length;
+ 
        ids = new int[nDocsReturned];
        scores = (cmd.getFlags() & GET_SCORES) != 0 ? new float[nDocsReturned] : null;
        for (int i = 0; i < nDocsReturned; i++) {