You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ho...@apache.org on 2023/01/07 00:54:21 UTC
[solr] 12/12: Merge branch 'main' into jira/SOLR-6312
This is an automated email from the ASF dual-hosted git repository.
hossman pushed a commit to branch jira/SOLR-6312
in repository https://gitbox.apache.org/repos/asf/solr.git
commit 029260f9888be3093797ba8adce0b3d091c718e4
Merge: 963f1ea3864 025c0305fa8
Author: Chris Hostetter <ho...@apache.org>
AuthorDate: Fri Jan 6 17:41:00 2023 -0700
Merge branch 'main' into jira/SOLR-6312
.github/workflows/bin-solr-test.yml | 7 +
NOTICE.txt | 2 +-
settings.gradle | 2 +-
solr/CHANGES.txt | 52 +-
solr/bin/solr | 204 +-
solr/bin/solr.cmd | 5 +
solr/bin/solr.in.cmd | 6 +-
solr/bin/solr.in.sh | 4 +
.../apache/solr/cloud/api/collections/Assign.java | 37 +-
...istributedCollectionConfigSetCommandRunner.java | 12 +-
.../solr/cloud/api/collections/SplitShardCmd.java | 146 +-
.../src/java/org/apache/solr/core/SolrCore.java | 8 +-
.../apache/solr/handler/MoreLikeThisHandler.java | 2 +-
.../solr/handler/admin/CollectionsHandler.java | 194 +-
.../solr/handler/admin/RebalanceLeaders.java | 90 +-
.../solr/handler/component/QueryComponent.java | 2 +-
.../handler/component/RealTimeGetComponent.java | 4 +-
.../java/org/apache/solr/search/QueryUtils.java | 8 +-
.../apache/solr/search/SolrDocumentFetcher.java | 2 +-
.../org/apache/solr/search/SolrIndexSearcher.java | 20 +-
.../org/apache/solr/search/neural/KnnQParser.java | 33 +-
.../apache/solr/update/StreamingSolrClients.java | 3 +-
.../org/apache/solr/update/UpdateShardHandler.java | 10 +-
.../src/java/org/apache/solr/util/SolrCLI.java | 27 +-
.../collection1/conf/solrconfig-deeppaging.xml | 2 +-
.../apache/solr/cloud/ReindexCollectionTest.java | 2 +-
.../test/org/apache/solr/cloud/SplitShardTest.java | 194 +-
.../solr/cloud/SystemCollectionCompatTest.java | 2 +-
.../solr/cloud/api/collections/ShardSplitTest.java | 13 +-
.../solr/handler/admin/TestCollectionAPIs.java | 15 +-
.../org/apache/solr/search/LargeFieldTest.java | 10 +-
.../apache/solr/search/TestMainQueryCaching.java | 50 +-
.../apache/solr/search/neural/KnnQParserTest.java | 57 +
solr/example/films/README.md | 87 +-
solr/example/films/films.csv | 2202 +--
solr/example/films/films.json | 14202 ++++++++++++++++++-
solr/example/films/films.xml | 11000 ++++++++++++++
solr/example/films/vectors/README.md | 47 +
solr/example/films/vectors/create_dataset.py | 68 +
solr/example/films/vectors/create_model.py | 110 +
solr/example/films/vectors/films.py | 92 +
solr/licenses/annotations-4.1.1.4.jar.sha1 | 1 +
solr/licenses/annotations-api-6.0.53.jar.sha1 | 1 +
solr/licenses/grpc-LICENSE-ASL.txt | 610 +
.../{grpc-context-NOTICE.txt => grpc-NOTICE.txt} | 0
solr/licenses/grpc-api-1.50.2.jar.sha1 | 1 +
solr/licenses/grpc-context-1.48.0.jar.sha1 | 1 -
solr/licenses/grpc-context-1.50.2.jar.sha1 | 1 +
solr/licenses/grpc-context-LICENSE-ASL.txt | 202 -
solr/licenses/grpc-core-1.50.2.jar.sha1 | 1 +
solr/licenses/grpc-netty-1.50.2.jar.sha1 | 1 +
solr/licenses/grpc-protobuf-1.50.2.jar.sha1 | 1 +
solr/licenses/grpc-protobuf-lite-1.50.2.jar.sha1 | 1 +
solr/licenses/grpc-stub-1.50.2.jar.sha1 | 1 +
solr/licenses/jaeger-core-1.8.1.jar.sha1 | 1 -
solr/licenses/jaeger-core-NOTICE.txt | 0
solr/licenses/jaeger-thrift-1.8.1.jar.sha1 | 1 -
solr/licenses/jaeger-thrift-LICENSE-ASL.txt | 201 -
solr/licenses/jaeger-thrift-NOTICE.txt | 0
solr/licenses/libthrift-0.15.0.jar.sha1 | 1 -
solr/licenses/libthrift-NOTICE.txt | 5 -
.../netty-codec-http2-4.1.82.Final.jar.sha1 | 1 +
.../netty-codec-socks-4.1.82.Final.jar.sha1 | 1 +
.../netty-handler-proxy-4.1.82.Final.jar.sha1 | 1 +
solr/licenses/okhttp-4.10.0.jar.sha1 | 1 +
solr/licenses/okhttp-4.9.3.jar.sha1 | 1 -
solr/licenses/okio-jvm-2.8.0.jar.sha1 | 1 -
solr/licenses/okio-jvm-3.0.0.jar.sha1 | 1 +
...CENSE-ASL.txt => opentelemetry-LICENSE-ASL.txt} | 2 +-
solr/licenses/opentelemetry-NOTICE.txt | 1 +
solr/licenses/opentelemetry-api-1.21.0.jar.sha1 | 1 +
.../opentelemetry-api-logs-1.21.0-alpha.jar.sha1 | 1 +
.../licenses/opentelemetry-context-1.21.0.jar.sha1 | 1 +
.../opentelemetry-exporter-common-1.21.0.jar.sha1 | 1 +
.../opentelemetry-exporter-otlp-1.21.0.jar.sha1 | 1 +
...ntelemetry-exporter-otlp-common-1.21.0.jar.sha1 | 1 +
...elemetry-opentracing-shim-1.21.0-alpha.jar.sha1 | 1 +
solr/licenses/opentelemetry-sdk-1.21.0.jar.sha1 | 1 +
.../opentelemetry-sdk-common-1.21.0.jar.sha1 | 1 +
...k-extension-autoconfigure-1.21.0-alpha.jar.sha1 | 1 +
...sdk-extension-autoconfigure-spi-1.21.0.jar.sha1 | 1 +
.../opentelemetry-sdk-logs-1.21.0-alpha.jar.sha1 | 1 +
.../opentelemetry-sdk-metrics-1.21.0.jar.sha1 | 1 +
.../opentelemetry-sdk-trace-1.21.0.jar.sha1 | 1 +
.../opentelemetry-semconv-1.21.0-alpha.jar.sha1 | 1 +
...ft-LICENSE-ASL.txt => perfmark-LICENSE-ASL.txt} | 2 +-
solr/licenses/perfmark-NOTICE.txt | 41 +
solr/licenses/perfmark-api-0.25.0.jar.sha1 | 1 +
solr/licenses/protobuf-java-3.21.12.jar.sha1 | 1 +
solr/licenses/protobuf-java-3.21.8.jar.sha1 | 1 -
solr/licenses/protobuf-java-util-3.21.12.jar.sha1 | 1 +
solr/licenses/protobuf-java-util-3.21.4.jar.sha1 | 1 -
.../org/apache/solr/handler/AnalyticsHandler.java | 2 +-
.../solr/security/hadoop/KerberosTestServices.java | 8 +-
.../test/org/apache/hadoop/util/PlatformName.java | 54 +
solr/modules/jaegertracer-configurator/README.md | 46 -
.../modules/jaegertracer-configurator/build.gradle | 38 -
.../solr/jaeger/JaegerTracerConfigurator.java | 31 -
.../apache/solr/jaeger/TestJaegerConfigurator.java | 67 -
solr/modules/opentelemetry/README.md | 26 +
solr/modules/opentelemetry/build.gradle | 53 +
.../solr/opentelemetry/ClosableTracerShim.java | 85 +
.../solr/opentelemetry/OtelTracerConfigurator.java | 138 +
.../apache/solr/opentelemetry}/package-info.java | 4 +-
.../src/java/overview.html | 11 +-
.../src/test-files/log4j2.xml | 0
.../test-files/solr/collection1/conf/schema.xml | 0
.../solr/collection1/conf/solrconfig.xml | 0
.../src/test-files/solr/solr.xml | 2 +-
.../opentelemetry/OtelTracerConfiguratorTest.java | 105 +
solr/packaging/build.gradle | 7 +-
solr/packaging/test/bats_helper.bash | 2 +-
...lr.bats_disabled => test_placement_plugin.bats} | 21 +-
...art_solr.bats_disabled => test_start_solr.bats} | 2 +
solr/solr-ref-guide/antora.template.yml | 1 +
solr/solr-ref-guide/antora.yml | 9 +-
solr/solr-ref-guide/build.gradle | 1 +
.../pages/package-manager-internals.adoc | 46 +-
.../pages/replica-placement-plugins.adoc | 6 +-
.../pages/cluster-node-management.adoc | 13 +-
.../pages/distributed-tracing.adoc | 72 +-
.../deployment-guide/pages/shard-management.adoc | 12 +
.../modules/indexing-guide/pages/reindexing.adoc | 2 +-
.../indexing-guide/pages/schemaless-mode.adoc | 8 +-
.../query-guide/pages/dense-vector-search.adoc | 7 +
.../pages/major-changes-in-solr-10.adoc | 7 +-
.../pages/major-changes-in-solr-9.adoc | 5 +
.../client/solrj/impl/CloudHttp2SolrClient.java | 42 +
.../client/solrj/impl/CloudLegacySolrClient.java | 16 +
.../solr/client/solrj/impl/CloudSolrClient.java | 20 +-
.../impl/ConcurrentUpdateHttp2SolrClient.java | 20 +
.../solrj/impl/ConcurrentUpdateSolrClient.java | 14 +-
.../solrj/impl/DelegationTokenHttpSolrClient.java | 18 +-
.../solr/client/solrj/impl/Http2SolrClient.java | 40 +-
.../solr/client/solrj/impl/HttpSolrClient.java | 40 +-
.../solr/client/solrj/impl/LBHttp2SolrClient.java | 83 +-
.../solr/client/solrj/impl/LBHttpSolrClient.java | 54 +-
.../solr/client/solrj/impl/LBSolrClient.java | 38 +-
.../solr/client/solrj/impl/SolrClientBuilder.java | 7 +-
.../solrj/request/CollectionAdminRequest.java | 11 +-
.../apache/solr/client/solrj/util/Constants.java | 22 +
.../solr/common/params/CommonAdminParams.java | 6 +
.../solr/client/solrj/TestLBHttp2SolrClient.java | 31 +-
.../solr/client/solrj/TestLBHttpSolrClient.java | 66 +-
.../client/solrj/impl/BasicHttpSolrClientTest.java | 28 +-
.../solrj/impl/CloudHttp2SolrClientTest.java | 11 +-
.../solrj/impl/CloudSolrClientCacheTest.java | 2 +-
.../client/solrj/impl/CloudSolrClientTest.java | 11 +-
.../impl/ConcurrentUpdateHttp2SolrClientTest.java | 4 +-
.../client/solrj/impl/Http2SolrClientTest.java | 53 +-
.../client/solrj/impl/LBHttp2SolrClientTest.java | 53 +-
.../src/java/org/apache/solr/SolrTestCaseJ4.java | 54 +-
solr/webapp/web/js/angular/controllers/cloud.js | 2 +-
versions.lock | 81 +-
versions.props | 5 +-
155 files changed, 28983 insertions(+), 2877 deletions(-)
diff --cc solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudLegacySolrClient.java
index 1d817e109aa,983d959434c..eac2326a330
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudLegacySolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudLegacySolrClient.java
@@@ -266,12 -271,21 +271,23 @@@ public class CloudLegacySolrClient exte
return this;
}
+ /**
+ * Sets the cache ttl for DocCollection Objects cached.
+ *
+ * @param seconds ttl value in seconds
+ */
+ public Builder withCollectionCacheTtl(int seconds) {
+ assert seconds > 0;
+ this.timeToLiveSeconds = seconds;
+ return this;
+ }
+
/**
- * Tells {@link Builder} that created clients should send updates only to shard leaders.
+ * Tells {@link Builder} that created clients should be configured such that {@link
+ * CloudSolrClient#isUpdatesToLeaders} returns <code>true</code>.
*
- * <p>WARNING: This method currently has no effect. See SOLR-6312 for more information.
+ * @see #sendUpdatesToAnyReplica
+ * @see CloudSolrClient#isUpdatesToLeaders
*/
public Builder sendUpdatesOnlyToShardLeaders() {
shardLeadersOnly = true;
diff --cc solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
index dc844ce627f,f994a216c6b..92409833464
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
@@@ -302,9 -302,8 +302,9 @@@ public class CloudHttp2SolrClientTest e
// Test Multi-Threaded routed updates for UpdateRequest
try (CloudSolrClient threadedClient =
- new CloudSolrClientBuilder(
+ new RandomizingCloudSolrClientBuilder(
Collections.singletonList(cluster.getZkServer().getZkAddress()), Optional.empty())
+ .sendUpdatesOnlyToShardLeaders()
.withParallelUpdates(true)
.build()) {
threadedClient.setDefaultCollection("routing_collection");
diff --cc solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
index 101b4787a05,61d2a60aaec..125c8a3580d
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
@@@ -303,9 -303,8 +303,9 @@@ public class CloudSolrClientTest extend
// Test Multi-Threaded routed updates for UpdateRequest
try (CloudSolrClient threadedClient =
- new CloudSolrClientBuilder(
+ new RandomizingCloudSolrClientBuilder(
Collections.singletonList(cluster.getZkServer().getZkAddress()), Optional.empty())
+ .sendUpdatesOnlyToShardLeaders()
.withParallelUpdates(true)
.build()) {
threadedClient.setDefaultCollection("routing_collection");
diff --cc solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
index 3c724202e1f,f05af27d6f7..6ae2eb76a2e
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
@@@ -2698,8 -2702,9 +2702,9 @@@ public abstract class SolrTestCaseJ4 ex
.sendUpdatesOnlyToShardLeaders()
.build();
}
- return new CloudSolrClientBuilder(Collections.singletonList(zkHost), Optional.empty())
+ return new RandomizingCloudSolrClientBuilder(
+ Collections.singletonList(zkHost), Optional.empty())
- .sendUpdatesToAllReplicasInShard()
+ .sendUpdatesToAnyReplica()
.build();
}
@@@ -2720,8 -2727,9 +2727,9 @@@
.withSocketTimeout(socketTimeoutMillis)
.build();
}
- return new CloudSolrClientBuilder(Collections.singletonList(zkHost), Optional.empty())
+ return new RandomizingCloudSolrClientBuilder(
+ Collections.singletonList(zkHost), Optional.empty())
- .sendUpdatesToAllReplicasInShard()
+ .sendUpdatesToAnyReplica()
.withSocketTimeout(socketTimeoutMillis)
.build();
}
@@@ -2743,8 -2752,9 +2752,9 @@@
.withSocketTimeout(socketTimeoutMillis)
.build();
}
- return new CloudSolrClientBuilder(Collections.singletonList(zkHost), Optional.empty())
+ return new RandomizingCloudSolrClientBuilder(
+ Collections.singletonList(zkHost), Optional.empty())
- .sendUpdatesToAllReplicasInShard()
+ .sendUpdatesToAnyReplica()
.withConnectionTimeout(connectionTimeoutMillis)
.withSocketTimeout(socketTimeoutMillis)
.build();
@@@ -2763,9 -2774,10 +2774,10 @@@
.sendUpdatesOnlyToShardLeaders()
.build();
}
- return new CloudSolrClientBuilder(Collections.singletonList(zkHost), Optional.empty())
+ return new RandomizingCloudSolrClientBuilder(
+ Collections.singletonList(zkHost), Optional.empty())
.withHttpClient(httpClient)
- .sendUpdatesToAllReplicasInShard()
+ .sendUpdatesToAnyReplica()
.build();
}
@@@ -2788,9 -2801,10 +2801,10 @@@
.withSocketTimeout(socketTimeoutMillis)
.build();
}
- return new CloudSolrClientBuilder(Collections.singletonList(zkHost), Optional.empty())
+ return new RandomizingCloudSolrClientBuilder(
+ Collections.singletonList(zkHost), Optional.empty())
.withHttpClient(httpClient)
- .sendUpdatesToAllReplicasInShard()
+ .sendUpdatesToAnyReplica()
.withConnectionTimeout(connectionTimeoutMillis)
.withSocketTimeout(socketTimeoutMillis)
.build();