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();