You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2020/12/02 13:11:41 UTC

[lucene-solr] 01/02: Merge branch 'master' into jira/solr-15016

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

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

commit 0cdd738b25fcf1efbbf42e1c81d1bebff5363946
Merge: 6853640 d99c166
Author: Andrzej Bialecki <ab...@apache.org>
AuthorDate: Wed Dec 2 13:29:10 2020 +0100

    Merge branch 'master' into jira/solr-15016

 dev-tools/scripts/addVersion.py                    |   1 +
 gradle/solr/packaging.gradle                       |   3 +-
 lucene/CHANGES.txt                                 |  17 +
 .../lucene/analysis/ja/JapaneseTokenizer.java      |  59 +--
 .../lucene/analysis/ja/TestJapaneseAnalyzer.java   |  14 +-
 .../lucene/analysis/ja/TestJapaneseTokenizer.java  |   6 +
 .../apache/lucene/analysis/ja/TestSearchMode.java  |   5 -
 .../apache/lucene/codecs/lucene84/PForUtil.java    |   2 +-
 .../org/apache/lucene/document/LatLonShape.java    |   3 +-
 .../document/LatLonShapeBoundingBoxQuery.java      |   3 +-
 .../java/org/apache/lucene/document/XYShape.java   |   3 +-
 .../src/java/org/apache/lucene/geo/Circle2D.java   |   2 +-
 .../src/java/org/apache/lucene/geo/Line2D.java     |   6 +-
 .../src/java/org/apache/lucene/geo/Polygon2D.java  |   2 +-
 .../java/org/apache/lucene/geo/Rectangle2D.java    |   4 +-
 .../org/apache/lucene/index/DocumentsWriter.java   |  20 +-
 .../lucene/index/DocumentsWriterStallControl.java  |   4 +
 .../org/apache/lucene/util/hnsw/HnswGraph.java     |   2 +-
 .../apache/lucene/document/TestLatLonShape.java    |  74 ++++
 .../org/apache/lucene/document/TestXYShape.java    |  73 ++++
 .../org/apache/lucene/index/TestIndexWriter.java   |  43 ++
 .../org/apache/lucene/util/TestVectorUtil.java     |   8 +-
 ...orTest.java => TestAllGroupHeadsCollector.java} |   2 +-
 ...lectorTest.java => TestAllGroupsCollector.java} |   2 +-
 ...ockGroupingTest.java => TestBlockGrouping.java} |   2 +-
 ...rTest.java => TestDistinctValuesCollector.java} |   2 +-
 ...Test.java => TestDoubleRangeGroupSelector.java} |   2 +-
 ...ectorTest.java => TestGroupFacetCollector.java} |   2 +-
 ...pingSearchTest.java => TestGroupingSearch.java} |   2 +-
 ...orTest.java => TestLongRangeGroupSelector.java} |   2 +-
 ...electorTest.java => TestTermGroupSelector.java} |   2 +-
 .../{TopGroupsTest.java => TestTopGroups.java}     |   2 +-
 ...Test.java => TestValueSourceGroupSelector.java} |   2 +-
 ...rmsQueryTest.java => TestCommonTermsQuery.java} |   6 +-
 ... => TestIndexAndTaxonomyReplicationClient.java} |   2 +-
 ...Test.java => TestIndexAndTaxonomyRevision.java} |   2 +-
 ...ntTest.java => TestIndexReplicationClient.java} |   2 +-
 ...dexRevisionTest.java => TestIndexRevision.java} |   2 +-
 ...eplicatorTest.java => TestLocalReplicator.java} |   2 +-
 ...SessionTokenTest.java => TestSessionToken.java} |   2 +-
 ...ReplicatorTest.java => TestHttpReplicator.java} |   2 +-
 ...sQueryTest.java => TestFuzzyLikeThisQuery.java} |   2 +-
 ...StrategyTest.java => TestDistanceStrategy.java} |   4 +-
 .../{PortedSolr3Test.java => TestPortedSolr3.java} |   4 +-
 .../{SpatialArgsTest.java => TestSpatialArgs.java} |   2 +-
 ...trategyTest.java => TestCompositeStrategy.java} |   2 +-
 ...NRStrategyTest.java => TestDateNRStrategy.java} |   2 +-
 ...unterTest.java => TestHeatmapFacetCounter.java} |   2 +-
 .../{JtsPolygonTest.java => TestJtsPolygon.java}   |   4 +-
 ...eFacetsTest.java => TestNumberRangeFacets.java} |   2 +-
 ...ava => TestRandomSpatialOpFuzzyPrefixTree.java} |   4 +-
 ...a => TestRandomSpatialOpFuzzyPrefixTree50.java} |   2 +-
 ...xTreeTest.java => TestDateRangePrefixTree.java} |   4 +-
 ...S2PrefixTreeTest.java => TestS2PrefixTree.java} |   2 +-
 ...fixTreeTest.java => TestSpatialPrefixTree.java} |   2 +-
 ...sParserTest.java => TestSpatialArgsParser.java} |   2 +-
 ...rategyTest.java => TestSerializedStrategy.java} |   2 +-
 solr/CHANGES.txt                                   |  26 +-
 .../src/java/org/apache/solr/ltr/LTRRescorer.java  | 153 ++++---
 .../java/org/apache/solr/ltr/LTRScoringQuery.java  |   4 +
 .../solr/ltr/SolrQueryRequestContextUtils.java     |  12 +-
 .../apache/solr/ltr/interleaving/Interleaving.java |  46 +++
 .../solr/ltr/interleaving/InterleavingResult.java  |  35 +-
 .../ltr/interleaving/LTRInterleavingQuery.java     |  75 ++++
 .../ltr/interleaving/LTRInterleavingRescorer.java  | 162 ++++++++
 .../interleaving/LTRInterleavingScoringQuery.java  |  53 +++
 .../OriginalRankingLTRScoringQuery.java}           |  20 +-
 .../algorithms/TeamDraftInterleaving.java          | 127 ++++++
 .../ltr/interleaving/algorithms}/package-info.java |   4 +-
 .../solr/ltr/interleaving}/package-info.java       |   4 +-
 .../LTRFeatureLoggerTransformerFactory.java        | 187 ++++++---
 .../LTRInterleavingTransformerFactory.java         | 114 ++++++
 .../apache/solr/ltr/search/LTRQParserPlugin.java   | 155 ++++----
 .../java/org/apache/solr/ltr/search/LTRQuery.java  |  80 ++++
 solr/contrib/ltr/src/java/overview.html            |   2 +-
 .../solr/collection1/conf/solrconfig-ltr.xml       |   9 +
 .../org/apache/solr/ltr/TestLTRQParserExplain.java | 160 ++++++++
 .../org/apache/solr/ltr/TestLTRQParserPlugin.java  |  16 +-
 .../test/org/apache/solr/ltr/TestLTRWithSort.java  | 103 +++++
 .../interleaving/TestLTRQParserInterleaving.java   | 206 ++++++++++
 .../algorithms/TeamDraftInterleavingTest.java      | 170 ++++++++
 .../transform/TestFeatureLoggerTransformer.java    | 400 +++++++++++++++++++
 .../transform/TestInterleavingTransformer.java     | 277 +++++++++++++
 solr/contrib/prometheus-exporter/CHANGES.md        |  20 +
 solr/contrib/prometheus-exporter/bin/solr-exporter |  15 -
 .../prometheus-exporter/bin/solr-exporter.cmd      |   5 +-
 solr/contrib/prometheus-exporter/build.gradle      |  51 ++-
 solr/contrib/prometheus-exporter/conf/log4j2.xml   |  40 ++
 .../prometheus/exporter/MetricsConfiguration.java  |  72 +++-
 .../solr/prometheus/exporter/SolrExporter.java     |  15 +-
 .../solr/prometheus/scraper/SolrCloudScraper.java  |  16 +-
 .../org/apache/solr/prometheus/utils/Helpers.java  |  13 +-
 .../src/java/org/apache/solr/cloud/CloudUtil.java  |   3 +-
 .../org/apache/solr/cloud/RecoveryStrategy.java    |  13 +-
 .../solr/cloud/ShardLeaderElectionContextBase.java |   4 +-
 .../java/org/apache/solr/cloud/ZkController.java   |  23 +-
 .../solr/cloud/api/collections/AddReplicaCmd.java  |   1 -
 .../cloud/api/collections/CreateCollectionCmd.java |   1 -
 .../OverseerCollectionMessageHandler.java          |  14 +-
 .../solr/cloud/api/collections/SplitShardCmd.java  |   1 -
 .../apache/solr/cloud/overseer/SliceMutator.java   |  18 +-
 .../plugins/AffinityPlacementFactory.java          | 166 +++++---
 .../cluster/placement/plugins/package-info.java    |   2 +-
 .../java/org/apache/solr/core/BlobRepository.java  |   3 +-
 .../apache/solr/core/CachingDirectoryFactory.java  |  15 +-
 .../src/java/org/apache/solr/core/CloudConfig.java |   2 +-
 .../src/java/org/apache/solr/core/NodeConfig.java  |  36 +-
 .../src/java/org/apache/solr/core/SolrConfig.java  |  68 ++--
 .../java/org/apache/solr/core/SolrXmlConfig.java   |  49 ++-
 .../apache/solr/core/StandardDirectoryFactory.java |  15 +-
 .../src/java/org/apache/solr/core/ZkContainer.java |  19 +-
 .../apache/solr/filestore/DistribPackageStore.java |   2 +-
 .../solr/handler/ContentStreamHandlerBase.java     |  65 +--
 .../apache/solr/handler/admin/ClusterStatus.java   |  26 +-
 .../solr/handler/admin/MetricsHistoryHandler.java  |   3 +-
 .../solr/handler/admin/RebalanceLeaders.java       |   2 +-
 .../solr/handler/admin/RequestSyncShardOp.java     |   1 -
 .../solr/handler/admin/ZookeeperInfoHandler.java   |  10 +-
 .../java/org/apache/solr/servlet/HttpSolrCall.java |  82 ++--
 .../apache/solr/servlet/SolrDispatchFilter.java    | 103 ++---
 .../src/java/org/apache/solr/util/SolrCLI.java     |   2 +
 .../test/org/apache/solr/TestRandomDVFaceting.java |   1 +
 .../solr/cloud/ClusterStateMockUtilTest.java       |   1 +
 .../org/apache/solr/cloud/DeleteReplicaTest.java   |   6 +-
 .../org/apache/solr/cloud/LeaderElectionTest.java  |  32 +-
 .../org/apache/solr/cloud/NodeMutatorTest.java     |   2 +
 .../test/org/apache/solr/cloud/OverseerTest.java   |  69 ++--
 .../cloud/TestLeaderElectionWithEmptyReplica.java  |   4 +-
 .../solr/cloud/TestMiniSolrCloudClusterSSL.java    |   3 +
 .../solr/cloud/TestRandomRequestDistribution.java  |   5 +-
 .../CollectionsAPIDistributedZkTest.java           |   5 +-
 .../solr/cloud/api/collections/ShardSplitTest.java |   5 +-
 .../apache/solr/cluster/placement/Builders.java    | 140 ++++++-
 .../placement/ClusterAbstractionsForTest.java      |  27 --
 .../impl/PlacementPluginIntegrationTest.java       |  21 +-
 .../plugins/AffinityPlacementFactoryTest.java      | 440 +++++++++++++++++++--
 .../org/apache/solr/core/TestMinimalConfig.java    |  45 +++
 .../core/snapshots/TestSolrCloudSnapshots.java     |  13 +-
 .../solr/core/snapshots/TestSolrCoreSnapshots.java |   6 +-
 .../org/apache/solr/handler/TestBlobHandler.java   |   3 +-
 .../org/apache/solr/handler/TestConfigReload.java  |   2 +-
 .../solr/handler/TestHdfsBackupRestoreCore.java    |   7 +-
 .../org/apache/solr/handler/TestReqParamsAPI.java  |   2 +-
 .../solr/handler/TestSolrConfigHandlerCloud.java   |   4 +-
 .../handler/TestSolrConfigHandlerConcurrent.java   |   2 +-
 .../handler/component/CloudReplicaSourceTest.java  |   1 +
 .../apache/solr/index/hdfs/CheckHdfsIndexTest.java |   2 +
 .../solr/uninverting/TestFieldCacheSort.java       |   3 +-
 .../apache/solr/update/SolrCmdDistributorTest.java |  25 +-
 solr/docker/CHANGES.md                             |  28 ++
 solr/docker/Dockerfile                             |   6 +-
 solr/docker/include/scripts/docker-entrypoint.sh   |   3 +
 solr/docker/include/scripts/init-var-solr          |  16 +-
 solr/docker/include/scripts/solr-create            |   3 -
 solr/docker/include/scripts/solr-foreground        |   3 -
 solr/docker/include/scripts/solr-precreate         |   3 -
 .../cases/empty-varsolr-vol-solr-nocopy/test.sh    |   1 +
 .../conf/solrconfig.xml                            |   1 -
 .../src/common-query-parameters.adoc               |   1 -
 solr/solr-ref-guide/src/config-api.adoc            |   3 +-
 solr/solr-ref-guide/src/css/navs.css               |   2 +-
 solr/solr-ref-guide/src/distributed-requests.adoc  |   4 -
 solr/solr-ref-guide/src/enabling-ssl.adoc          |   2 +
 .../velocity-search-ui/techproducts_browse.png     | Bin 74854 -> 0 bytes
 solr/solr-ref-guide/src/learning-to-rank.adoc      | 104 ++++-
 solr/solr-ref-guide/src/metrics-reporting.adoc     |  82 ++--
 .../client/solrj/impl/BaseCloudSolrClient.java     |   8 +-
 .../solr/client/solrj/impl/Http2SolrClient.java    |   8 +
 .../RequestReplicaListTransformerGenerator.java    |  15 +-
 .../apache/solr/common/cloud/ClusterStateUtil.java |   2 +-
 .../java/org/apache/solr/common/cloud/Replica.java |  22 +-
 .../org/apache/solr/common/cloud/UrlScheme.java    |  73 ++++
 .../apache/solr/common/cloud/ZkCoreNodeProps.java  |  27 +-
 .../solr/common/cloud/ZkMaintenanceUtils.java      |   2 +-
 .../org/apache/solr/common/cloud/ZkNodeProps.java  |  54 ++-
 .../apache/solr/common/cloud/ZkStateReader.java    |  16 +-
 .../apache/solr/common/params/CommonParams.java    |   7 -
 .../solrj/impl/CloudHttp2SolrClientTest.java       |  61 +--
 .../client/solrj/impl/CloudSolrClientTest.java     |  61 +--
 .../client/solrj/impl/Http2SolrClientTest.java     |   6 +
 .../routing/NodePreferenceRulesComparatorTest.java |  45 ++-
 ...RequestReplicaListTransformerGeneratorTest.java |  64 +--
 .../ShufflingReplicaListTransformerTest.java       |   4 +-
 .../solr/common/cloud/TestZkMaintenanceUtils.java  |  20 +
 .../apache/solr/common/cloud/UrlSchemeTest.java    |  56 +++
 .../solr/common/params/CommonParamsTest.java       |   2 -
 .../src/java/org/apache/solr/SolrTestCaseJ4.java   |  10 +-
 .../solr/cloud/AbstractFullDistribZkTestBase.java  |  22 +-
 .../apache/solr/cloud/MiniSolrCloudCluster.java    |  26 +-
 .../src/java/org/apache/solr/util/TestHarness.java |  15 +-
 .../solr/cloud/MiniSolrCloudClusterTest.java       |  74 ++++
 191 files changed, 4666 insertions(+), 1206 deletions(-)

diff --cc solr/core/src/test/org/apache/solr/cluster/placement/impl/PlacementPluginIntegrationTest.java
index 8c218e7,ac325b1..e3c9a27
--- a/solr/core/src/test/org/apache/solr/cluster/placement/impl/PlacementPluginIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cluster/placement/impl/PlacementPluginIntegrationTest.java
@@@ -3,20 -20,14 +20,22 @@@ package org.apache.solr.cluster.placeme
  import org.apache.solr.client.solrj.cloud.SolrCloudManager;
  import org.apache.solr.client.solrj.request.CollectionAdminRequest;
  import org.apache.solr.client.solrj.request.V2Request;
 +import org.apache.solr.client.solrj.request.beans.PluginMeta;
  import org.apache.solr.client.solrj.response.CollectionAdminResponse;
 -import org.apache.solr.cloud.MiniSolrCloudCluster;
 +import org.apache.solr.client.solrj.response.V2Response;
  import org.apache.solr.cloud.SolrCloudTestCase;
 -import org.apache.solr.cluster.placement.PlacementPluginConfig;
 +import org.apache.solr.cluster.placement.PlacementPluginFactory;
 +import org.apache.solr.cluster.placement.plugins.AffinityPlacementConfig;
 +import org.apache.solr.cluster.placement.plugins.AffinityPlacementFactory;
++import org.apache.solr.cloud.MiniSolrCloudCluster;
  import org.apache.solr.cluster.placement.plugins.MinimizeCoresPlacementFactory;
  import org.apache.solr.common.cloud.ClusterProperties;
  import org.apache.solr.common.cloud.ClusterState;
  import org.apache.solr.common.cloud.DocCollection;
 +import org.apache.solr.common.util.TimeSource;
 +import org.apache.solr.core.CoreContainer;
 +import org.apache.solr.util.TimeOut;
++
  import org.junit.After;
  import org.junit.BeforeClass;
  import org.junit.Test;
diff --cc solr/core/src/test/org/apache/solr/cluster/placement/plugins/AffinityPlacementFactoryTest.java
index 61907be,7e240b6..9cbdc3d
--- a/solr/core/src/test/org/apache/solr/cluster/placement/plugins/AffinityPlacementFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/cluster/placement/plugins/AffinityPlacementFactoryTest.java
@@@ -26,7 -26,9 +26,9 @@@ import org.apache.solr.cluster.SolrColl
  import org.apache.solr.cluster.placement.*;
  import org.apache.solr.cluster.placement.Builders;
  import org.apache.solr.cluster.placement.impl.PlacementPlanFactoryImpl;
 -import org.apache.solr.cluster.placement.impl.PlacementPluginConfigImpl;
 +import org.apache.solr.cluster.placement.impl.PlacementRequestImpl;
+ import org.apache.solr.cluster.placement.impl.PlacementRequestImpl;
+ import org.apache.solr.common.util.Pair;
  import org.junit.BeforeClass;
  import org.junit.Test;
  import org.slf4j.Logger;
@@@ -47,13 -49,14 +49,15 @@@ public class AffinityPlacementFactoryTe
  
    private static PlacementPlugin plugin;
  
+   private final static long MINIMAL_FREE_DISK_GB = 10L;
+   private final static long PRIORITIZED_FREE_DISK_GB = 50L;
+ 
    @BeforeClass
    public static void setupPlugin() {
-     AffinityPlacementConfig config = new AffinityPlacementConfig(10L, 50L);
 -    PlacementPluginConfig config = PlacementPluginConfigImpl.createConfigFromProperties(
 -        Map.of("minimalFreeDiskGB", MINIMAL_FREE_DISK_GB, "prioritizedFreeDiskGB", PRIORITIZED_FREE_DISK_GB));
 -    plugin = new AffinityPlacementFactory().createPluginInstance(config);
++    AffinityPlacementConfig config = new AffinityPlacementConfig(MINIMAL_FREE_DISK_GB, PRIORITIZED_FREE_DISK_GB);
 +    AffinityPlacementFactory factory = new AffinityPlacementFactory();
 +    factory.configure(config);
 +    plugin = factory.createPluginInstance();
-     ((AffinityPlacementFactory.AffinityPlacementPlugin) plugin).setRandom(random());
    }
  
    @Test