This is an automated email from the ASF dual-hosted git repository.
epugh 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 a330e81bd58 Remove deprecated code in GraphHandler for registering
expressions (#4100)
a330e81bd58 is described below
commit a330e81bd58338ffe464ff058bb67c4bf32e2d00
Author: Eric Pugh <[email protected]>
AuthorDate: Wed Feb 4 19:05:26 2026 -0500
Remove deprecated code in GraphHandler for registering expressions (#4100)
Removes deprecated code from GraphHandler that supported the old
streamFunctions configuration method for registering streaming expressions
---
...eprecated-graphhandler-registration-support.yml | 8 +++++
.../java/org/apache/solr/handler/GraphHandler.java | 40 ----------------------
2 files changed, 8 insertions(+), 40 deletions(-)
diff --git
a/changelog/unreleased/PR#4100-remove-deprecated-graphhandler-registration-support.yml
b/changelog/unreleased/PR#4100-remove-deprecated-graphhandler-registration-support.yml
new file mode 100644
index 00000000000..c18a1a5fbd8
--- /dev/null
+++
b/changelog/unreleased/PR#4100-remove-deprecated-graphhandler-registration-support.yml
@@ -0,0 +1,8 @@
+# See https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc
+title: Remove deprecated streamFunctions in GraphHandler for registering
streaming expressions.
+type: removed # added, changed, fixed, deprecated, removed, dependency_update,
security, other
+authors:
+ - name: Eric Pugh
+links:
+ - name: PR#4100
+ url: https://github.com/apache/solr/pull/4100
diff --git a/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
b/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
index 07667983f5a..7288878fab7 100644
--- a/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
@@ -19,10 +19,8 @@ package org.apache.solr.handler;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
-import java.util.Map.Entry;
import org.apache.solr.client.solrj.io.SolrClientCache;
import org.apache.solr.client.solrj.io.Tuple;
import org.apache.solr.client.solrj.io.comp.StreamComparator;
@@ -32,16 +30,12 @@ import org.apache.solr.client.solrj.io.stream.StreamContext;
import org.apache.solr.client.solrj.io.stream.TupleStream;
import org.apache.solr.client.solrj.io.stream.expr.DefaultStreamFactory;
import org.apache.solr.client.solrj.io.stream.expr.Explanation;
-import org.apache.solr.client.solrj.io.stream.expr.Expressible;
import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.params.StreamParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.CoreContainer;
-import org.apache.solr.core.PluginInfo;
-import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
@@ -60,12 +54,6 @@ import org.slf4j.LoggerFactory;
*
* <p>To add additional functions, just define them as plugins in
solrconfig.xml via {@code
* <expressible name="count"
class="org.apache.solr.client.solrj.io.stream.RecordCountStream" />}
- *
- * <p>The @deprecated configuration method as of Solr 8.5 is {@code <lst
name="streamFunctions"><str
- * name="group">org.apache.solr.client.solrj.io.stream.ReducerStream</str><str
- *
name="count">org.apache.solr.client.solrj.io.stream.RecordCountStream</str></lst>
}
- *
- * @since 6.1.0
*/
public class GraphHandler extends RequestHandlerBase
implements SolrCoreAware, PermissionNameProvider {
@@ -97,34 +85,6 @@ public class GraphHandler extends RequestHandlerBase
// This pulls all the overrides and additions from the config
StreamHandler.addExpressiblePlugins(streamFactory, core);
-
- // Check deprecated approach.
- Object functionMappingsObj = initArgs.get("streamFunctions");
- if (null != functionMappingsObj) {
- log.warn(
- "solrconfig.xml: <streamFunctions> is deprecated for adding
additional streaming functions to GraphHandler.");
- NamedList<?> functionMappings = (NamedList<?>) functionMappingsObj;
- for (Entry<String, ?> functionMapping : functionMappings) {
- String key = functionMapping.getKey();
- PluginInfo pluginInfo =
- new PluginInfo(key, Collections.singletonMap("class",
functionMapping.getValue()));
-
- if (pluginInfo.pkgName == null) {
- Class<? extends Expressible> clazz =
- core.getResourceLoader()
- .findClass((String) functionMapping.getValue(),
Expressible.class);
- streamFactory.withFunctionName(key, clazz);
- } else {
- @SuppressWarnings("resource")
- StreamHandler.ExpressibleHolder holder =
- new StreamHandler.ExpressibleHolder(
- pluginInfo,
- core,
-
SolrConfig.classVsSolrPluginInfo.get(Expressible.class.getName()));
- streamFactory.withFunctionName(key, holder);
- }
- }
- }
}
@Override