This is an automated email from the ASF dual-hosted git repository.
dsmiley pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9x by this push:
new ca33544c57a Move setShardAttributesToParams (#2486)
ca33544c57a is described below
commit ca33544c57a8308d478be489d68e49d8d39f30d4
Author: David Smiley <[email protected]>
AuthorDate: Fri May 31 15:59:52 2024 -0400
Move setShardAttributesToParams (#2486)
Too special-purpose to warrant any back-compat concern. Was here since
2023-06
note: the test is dubious and admittedly isn't in a great location.
(cherry picked from commit adccb8d50b9cee6afa64dae5ca2b74fe508f27c4)
---
.../solr/handler/component/SearchHandler.java | 2 +-
.../solr/handler/component/ShardHandler.java | 15 +++++++++++++
.../handler/component/TaskManagementHandler.java | 2 +-
.../apache/solr/core/TestShardHandlerFactory.java | 26 ++++++++++++++++++++++
.../solr/common/params/ModifiableSolrParams.java | 13 -----------
.../common/params/ModifiableSolrParamsTest.java | 19 ----------------
6 files changed, 43 insertions(+), 34 deletions(-)
diff --git
a/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java
b/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java
index b5ecd5f1c4d..2996992b1dd 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java
@@ -524,7 +524,7 @@ public class SearchHandler extends RequestHandlerBase
// TODO: map from shard to address[]
for (String shard : sreq.actualShards) {
ModifiableSolrParams params = new
ModifiableSolrParams(sreq.params);
- params.setShardAttributesToParams(sreq.purpose);
+ ShardHandler.setShardAttributesToParams(params, sreq.purpose);
// Distributed request -- need to send queryID as a part of the
distributed request
params.setNonNull(ShardParams.QUERY_ID, rb.queryID);
diff --git
a/solr/core/src/java/org/apache/solr/handler/component/ShardHandler.java
b/solr/core/src/java/org/apache/solr/handler/component/ShardHandler.java
index d56ad24d7c5..b63613f91ae 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/ShardHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/ShardHandler.java
@@ -16,7 +16,12 @@
*/
package org.apache.solr.handler.component;
+import static org.apache.solr.common.params.CommonParams.DISTRIB;
+import static org.apache.solr.common.params.CommonParams.INDENT;
+
+import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.params.ShardParams;
public abstract class ShardHandler {
public abstract void prepDistributed(ResponseBuilder rb);
@@ -30,4 +35,14 @@ public abstract class ShardHandler {
public abstract void cancelAll();
public abstract ShardHandlerFactory getShardHandlerFactory();
+
+ public static void setShardAttributesToParams(ModifiableSolrParams params,
int purpose) {
+ params.remove(ShardParams.SHARDS); // not a top-level request
+ params.set(DISTRIB, Boolean.FALSE.toString()); // not a top-level request
+ params.remove(INDENT);
+ params.remove(CommonParams.HEADER_ECHO_PARAMS);
+ params.set(ShardParams.IS_SHARD, true); // a sub (shard) request
+ params.set(ShardParams.SHARDS_PURPOSE, purpose);
+ params.set(CommonParams.OMIT_HEADER, false);
+ }
}
diff --git
a/solr/core/src/java/org/apache/solr/handler/component/TaskManagementHandler.java
b/solr/core/src/java/org/apache/solr/handler/component/TaskManagementHandler.java
index 8986bd86cbc..afb7a05c586 100644
---
a/solr/core/src/java/org/apache/solr/handler/component/TaskManagementHandler.java
+++
b/solr/core/src/java/org/apache/solr/handler/component/TaskManagementHandler.java
@@ -79,7 +79,7 @@ public abstract class TaskManagementHandler extends
RequestHandlerBase
String reqPath = (String) req.getContext().get(PATH);
params.set(CommonParams.QT, reqPath);
- params.setShardAttributesToParams(sreq.purpose);
+ ShardHandler.setShardAttributesToParams(params, sreq.purpose);
if (extraParams != null) {
for (Map.Entry<String, String> entry : extraParams.entrySet()) {
diff --git
a/solr/core/src/test/org/apache/solr/core/TestShardHandlerFactory.java
b/solr/core/src/test/org/apache/solr/core/TestShardHandlerFactory.java
index 707214014a1..7c9f5ef0702 100644
--- a/solr/core/src/test/org/apache/solr/core/TestShardHandlerFactory.java
+++ b/solr/core/src/test/org/apache/solr/core/TestShardHandlerFactory.java
@@ -18,7 +18,11 @@ package org.apache.solr.core;
import java.nio.file.Path;
import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.common.params.CommonParams;
+import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.params.ShardParams;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.handler.component.ShardHandler;
import org.apache.solr.handler.component.ShardHandlerFactory;
/** Tests specifying a custom ShardHandlerFactory */
@@ -34,4 +38,26 @@ public class TestShardHandlerFactory extends SolrTestCaseJ4 {
factory.close();
cc.shutdown();
}
+
+ /** Test {@link ShardHandler#setShardAttributesToParams} */
+ public void testSetShardAttributesToParams() {
+ // NOTE: the value of this test is really questionable; we should feel
free to remove it
+ ModifiableSolrParams modifiable = new ModifiableSolrParams();
+ var dummyIndent = "Dummy-Indent";
+
+ modifiable.set(ShardParams.SHARDS, "dummyValue");
+ modifiable.set(CommonParams.HEADER_ECHO_PARAMS, "dummyValue");
+ modifiable.set(CommonParams.INDENT, dummyIndent);
+
+ ShardHandler.setShardAttributesToParams(modifiable, 2);
+
+ assertEquals(Boolean.FALSE.toString(),
modifiable.get(CommonParams.DISTRIB));
+ assertEquals("2", modifiable.get(ShardParams.SHARDS_PURPOSE));
+ assertEquals(Boolean.FALSE.toString(),
modifiable.get(CommonParams.OMIT_HEADER));
+ assertEquals(Boolean.TRUE.toString(),
modifiable.get(ShardParams.IS_SHARD));
+
+ assertNull(modifiable.get(CommonParams.HEADER_ECHO_PARAMS));
+ assertNull(modifiable.get(ShardParams.SHARDS));
+ assertNull(modifiable.get(CommonParams.INDENT));
+ }
}
diff --git
a/solr/solrj/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
b/solr/solrj/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
index 88edbe2e720..9c3c0d2a4a9 100644
---
a/solr/solrj/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
+++
b/solr/solrj/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
@@ -16,9 +16,6 @@
*/
package org.apache.solr.common.params;
-import static org.apache.solr.common.params.CommonParams.DISTRIB;
-import static org.apache.solr.common.params.CommonParams.INDENT;
-
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -179,16 +176,6 @@ public class ModifiableSolrParams extends SolrParams {
// ----------------------------------------------------------------
// ----------------------------------------------------------------
- public void setShardAttributesToParams(int purpose) {
- remove(ShardParams.SHARDS); // not a top-level request
- set(DISTRIB, Boolean.FALSE.toString()); // not a top-level request
- remove(INDENT);
- remove(CommonParams.HEADER_ECHO_PARAMS);
- set(ShardParams.IS_SHARD, true); // a sub (shard) request
- set(ShardParams.SHARDS_PURPOSE, purpose);
- set(CommonParams.OMIT_HEADER, false);
- }
-
@Override
public String get(String param) {
String[] v = vals.get(param);
diff --git
a/solr/solrj/src/test/org/apache/solr/common/params/ModifiableSolrParamsTest.java
b/solr/solrj/src/test/org/apache/solr/common/params/ModifiableSolrParamsTest.java
index 9cf97fe1cdf..2304b3abe06 100644
---
a/solr/solrj/src/test/org/apache/solr/common/params/ModifiableSolrParamsTest.java
+++
b/solr/solrj/src/test/org/apache/solr/common/params/ModifiableSolrParamsTest.java
@@ -127,25 +127,6 @@ public class ModifiableSolrParamsTest extends SolrTestCase
{
compareArrays("checking Hello World Universe ", helloWorldUniverse,
result);
}
- public void testSetShardAttributesToParams() {
- var dummyIndent = "Dummy-Indent";
-
- modifiable.set(ShardParams.SHARDS, "dummyValue");
- modifiable.set(CommonParams.HEADER_ECHO_PARAMS, "dummyValue");
- modifiable.set(CommonParams.INDENT, dummyIndent);
-
- modifiable.setShardAttributesToParams(2);
-
- assertEquals(Boolean.FALSE.toString(),
modifiable.get(CommonParams.DISTRIB));
- assertEquals("2", modifiable.get(ShardParams.SHARDS_PURPOSE));
- assertEquals(Boolean.FALSE.toString(),
modifiable.get(CommonParams.OMIT_HEADER));
- assertEquals(Boolean.TRUE.toString(),
modifiable.get(ShardParams.IS_SHARD));
-
- assertNull(modifiable.get(CommonParams.HEADER_ECHO_PARAMS));
- assertNull(modifiable.get(ShardParams.SHARDS));
- assertNull(modifiable.get(CommonParams.INDENT));
- }
-
private void compareArrays(String prefix, String[] expected, String[]
actual) {
assertEquals(prefix + "length: ", expected.length, actual.length);
for (int i = 0; i < expected.length; ++i) {