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

gerlowskija pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/main by this push:
     new b57b5636791 SOLR-17042: Remove V2RequestSupport interface (#2028)
b57b5636791 is described below

commit b57b56367919b40c0d7c1bdb43506243836e5a00
Author: Jason Gerlowski <[email protected]>
AuthorDate: Sun Oct 22 20:53:18 2023 -0400

    SOLR-17042: Remove V2RequestSupport interface (#2028)
    
    The interface was initially added as a way to allow dog-fooding of v2
    APIs, but never fully got off the ground.  It was only ever implemented
    for a small set of "collection admin" APIs, and was superceded by our
    current approach in SolrJ of generating v2 SolrRequest
    implementations from our "OAS".
    
    This commit removes the interface, and two associated SolrRequest
    methods, from SolrJ.
---
 solr/CHANGES.txt                                   |  2 ++
 .../cloud/api/collections/TestCollectionAPI.java   | 21 ------------------
 .../org/apache/solr/client/solrj/SolrRequest.java  | 18 ----------------
 .../apache/solr/client/solrj/V2RequestSupport.java | 25 ----------------------
 .../solr/client/solrj/impl/CloudSolrClient.java    |  4 ----
 .../solr/client/solrj/impl/Http2SolrClient.java    | 18 +++-------------
 .../solr/client/solrj/impl/HttpSolrClient.java     |  4 ----
 7 files changed, 5 insertions(+), 87 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 14330008e72..83389922a52 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -43,6 +43,8 @@ Deprecation Removals
 
 * SOLR-16893: Remove bin/solr create_core and create_collection commands in 
favour of bin/solr create command.  (Eric Pugh)
 
+* SOLR-17042: Remove deprecated `V2RequestSupport` and associated 
`SolrRequest` methods `setUseV2` and `setUseBinaryV2`. (Jason Gerlowski)
+
 Dependency Upgrades
 ---------------------
 (No changes)
diff --git 
a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java
 
b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java
index 29c103cb9a3..ddbe2e7b901 100644
--- 
a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java
+++ 
b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java
@@ -23,16 +23,12 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.atomic.LongAdder;
-import org.apache.solr.client.solrj.SolrRequest;
-import org.apache.solr.client.solrj.SolrResponse;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.impl.BaseHttpSolrClient;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.request.CollectionAdminRequest;
 import org.apache.solr.client.solrj.request.QueryRequest;
-import org.apache.solr.client.solrj.request.V2Request;
 import org.apache.solr.client.solrj.response.CollectionAdminResponse;
 import org.apache.solr.cloud.MiniSolrCloudCluster;
 import org.apache.solr.cloud.ZkConfigSetService;
@@ -539,23 +535,6 @@ public class TestCollectionAPI extends 
ReplicaPropertiesBase {
     }
   }
 
-  private static long totalexpectedV2Calls;
-
-  public static <T extends SolrResponse> SolrRequest<T> setV2(SolrRequest<T> 
req) {
-    if (V2Request.v2Calls.get() == null) V2Request.v2Calls.set(new 
AtomicLong());
-    totalexpectedV2Calls = V2Request.v2Calls.get().get();
-    if (random().nextBoolean()) {
-      req.setUseV2(true);
-      req.setUseBinaryV2(random().nextBoolean());
-      totalexpectedV2Calls++;
-    }
-    return req;
-  }
-
-  public static void assertV2CallsCount() {
-    assertEquals(totalexpectedV2Calls, V2Request.v2Calls.get().get());
-  }
-
   private void clusterStatusWithRouteKey() throws IOException, 
SolrServerException {
     try (CloudSolrClient client = createCloudClient(DEFAULT_COLLECTION)) {
       SolrInputDocument doc = new SolrInputDocument();
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java 
b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java
index f433b6c34d0..d3f813f8bcb 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java
@@ -82,24 +82,6 @@ public abstract class SolrRequest<T extends SolrResponse> 
implements Serializabl
   private StreamingResponseCallback callback;
   private Set<String> queryParams;
 
-  protected boolean usev2;
-  protected boolean useBinaryV2;
-
-  /**
-   * If set to true, every request that implements {@link V2RequestSupport} 
will be converted to a
-   * V2 API call
-   */
-  public SolrRequest<T> setUseV2(boolean flag) {
-    this.usev2 = flag;
-    return this;
-  }
-
-  /** If set to true use javabin instead of json (default) */
-  public SolrRequest<T> setUseBinaryV2(boolean flag) {
-    this.useBinaryV2 = flag;
-    return this;
-  }
-
   public SolrRequest<T> setPreferredNodes(List<String> nodes) {
     this.preferredNodes = nodes;
     return this;
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/V2RequestSupport.java 
b/solr/solrj/src/java/org/apache/solr/client/solrj/V2RequestSupport.java
deleted file mode 100644
index d65edd1606e..00000000000
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/V2RequestSupport.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.solr.client.solrj;
-
-/** A a request object is able to convert itself to V2 Request it should 
implement this interface */
-public interface V2RequestSupport {
-  /** If usev2 flag is set to true, return V2Request, if not, return V1 
request object */
-  @SuppressWarnings({"rawtypes"})
-  SolrRequest getV2Request();
-}
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
index 7bed0138043..58f98c6bbc8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
@@ -52,7 +52,6 @@ import org.apache.solr.client.solrj.ResponseParser;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.V2RequestSupport;
 import org.apache.solr.client.solrj.request.AbstractUpdateRequest;
 import org.apache.solr.client.solrj.request.IsUpdateRequest;
 import org.apache.solr.client.solrj.request.RequestWriter;
@@ -785,9 +784,6 @@ public abstract class CloudSolrClient extends SolrClient {
     String stateVerParam = null;
     List<DocCollection> requestedCollections = null;
     boolean isCollectionRequestOfV2 = false;
-    if (request instanceof V2RequestSupport) {
-      request = ((V2RequestSupport) request).getV2Request();
-    }
     if (request instanceof V2Request) {
       isCollectionRequestOfV2 = ((V2Request) request).isPerCollectionRequest();
     }
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
index 291c91df074..0f060000d30 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
@@ -53,7 +53,6 @@ import org.apache.solr.client.solrj.ResponseParser;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.V2RequestSupport;
 import org.apache.solr.client.solrj.embedded.SSLConfig;
 import 
org.apache.solr.client.solrj.impl.BaseHttpSolrClient.RemoteExecutionException;
 import 
org.apache.solr.client.solrj.impl.BaseHttpSolrClient.RemoteSolrException;
@@ -462,9 +461,10 @@ public class Http2SolrClient extends SolrClient {
   private static final Cancellable FAILED_MAKING_REQUEST_CANCELLABLE = () -> 
{};
 
   public Cancellable asyncRequest(
-      SolrRequest<?> solrReq, String collection, 
AsyncListener<NamedList<Object>> asyncListener) {
+      SolrRequest<?> solrRequest,
+      String collection,
+      AsyncListener<NamedList<Object>> asyncListener) {
     MDCCopyHelper mdcCopyHelper = new MDCCopyHelper();
-    SolrRequest<?> solrRequest = unwrapV2Request(solrReq);
 
     Request req;
     try {
@@ -521,7 +521,6 @@ public class Http2SolrClient extends SolrClient {
   public NamedList<Object> request(SolrRequest<?> solrRequest, String 
collection)
       throws SolrServerException, IOException {
 
-    solrRequest = unwrapV2Request(solrRequest);
     String url = getRequestPath(solrRequest, collection);
     Throwable abortCause = null;
     Request req = null;
@@ -634,17 +633,6 @@ public class Http2SolrClient extends SolrClient {
     return new URL(oldURL.getProtocol(), oldURL.getHost(), oldURL.getPort(), 
newPath).toString();
   }
 
-  private SolrRequest<?> unwrapV2Request(SolrRequest<?> solrRequest) {
-    if (solrRequest.getBasePath() == null && serverBaseUrl == null)
-      throw new IllegalArgumentException("Destination node is not provided!");
-
-    if (solrRequest instanceof V2RequestSupport) {
-      return ((V2RequestSupport) solrRequest).getV2Request();
-    } else {
-      return solrRequest;
-    }
-  }
-
   private String getRequestPath(SolrRequest<?> solrRequest, String collection)
       throws MalformedURLException {
     String basePath = solrRequest.getBasePath() == null ? serverBaseUrl : 
solrRequest.getBasePath();
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
index c03fbc9f3f9..67f3162f1cb 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
@@ -76,7 +76,6 @@ import org.apache.http.message.BasicNameValuePair;
 import org.apache.solr.client.solrj.ResponseParser;
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.V2RequestSupport;
 import org.apache.solr.client.solrj.request.RequestWriter;
 import org.apache.solr.client.solrj.request.V2Request;
 import org.apache.solr.common.SolrException;
@@ -339,9 +338,6 @@ public class HttpSolrClient extends BaseHttpSolrClient {
 
   protected HttpRequestBase createMethod(SolrRequest<?> request, String 
collection)
       throws IOException, SolrServerException {
-    if (request instanceof V2RequestSupport) {
-      request = ((V2RequestSupport) request).getV2Request();
-    }
     SolrParams params = request.getParams();
     RequestWriter.ContentWriter contentWriter = 
requestWriter.getContentWriter(request);
     Collection<ContentStream> streams =

Reply via email to