From 5939e968cbbea2e68c0e46a9a106a44f2a915512 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 23 Aug 2025 05:44:35 -0400 Subject: [PATCH] Flip solr.hideStackTrace to .enabled equivalent. Tricky one because I didn't want to change the solr.xml name AS well, so now in solr.xml we have solr.hideStackTrace, but system is solr.responses.stacktrace.enabled. Why is this in solr.xml? --- solr/core/src/java/org/apache/solr/core/NodeConfig.java | 3 ++- .../src/java/org/apache/solr/common/util/EnvUtils.java | 6 ++++++ .../resources/DeprecatedSystemPropertyMappings.properties | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/solr/core/src/java/org/apache/solr/core/NodeConfig.java b/solr/core/src/java/org/apache/solr/core/NodeConfig.java index 91c14eb72ad..290c17835b4 100644 --- a/solr/core/src/java/org/apache/solr/core/NodeConfig.java +++ b/solr/core/src/java/org/apache/solr/core/NodeConfig.java @@ -618,7 +618,8 @@ public static class NodeConfigBuilder { private String defaultZkHost; private Set allowPaths = Collections.emptySet(); private List allowUrls = Collections.emptyList(); - private boolean hideStackTrace = Boolean.getBoolean("solr.hideStackTrace"); + private boolean hideStackTrace = + !(Boolean.parseBoolean(System.getProperty("solr.responses.stacktrace.enabled", "true"))); private final Path solrHome; private final String nodeName; diff --git a/solr/solrj/src/java/org/apache/solr/common/util/EnvUtils.java b/solr/solrj/src/java/org/apache/solr/common/util/EnvUtils.java index 22b5a2ec8ea..6f613016cf8 100644 --- a/solr/solrj/src/java/org/apache/solr/common/util/EnvUtils.java +++ b/solr/solrj/src/java/org/apache/solr/common/util/EnvUtils.java @@ -232,6 +232,12 @@ static synchronized void init( deprecatedKey, key); setProperty(key, String.valueOf(!Boolean.getBoolean(deprecatedKey))); + } else if (deprecatedKey.equals("solr.hide.stack.trace")) { + log.warn( + "Converting from legacy system property {} to modern .enabled equivalent {} by flipping the boolean property value.", + deprecatedKey, + key); + setProperty(key, String.valueOf(!Boolean.getBoolean(deprecatedKey))); } else { setProperty(key, sysProperties.getProperty(deprecatedKey)); } diff --git a/solr/solrj/src/resources/DeprecatedSystemPropertyMappings.properties b/solr/solrj/src/resources/DeprecatedSystemPropertyMappings.properties index 88c0210edcc..da2227a7b72 100644 --- a/solr/solrj/src/resources/DeprecatedSystemPropertyMappings.properties +++ b/solr/solrj/src/resources/DeprecatedSystemPropertyMappings.properties @@ -19,3 +19,4 @@ solr.enable.remote.streaming=solr.requests.streaming.remote.enabled solr.enable.stream.body=solr.requests.streaming.body.enabled solr.delete.unknown.cores=solr.cloud.startup.delete.unknown.cores.enabled solr.config.set.forbidden.file.types=solr.configset.forbidden.file.types +solr.hide.stack.trace=solr.responses.stacktrace.enabled