You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by no...@apache.org on 2023/07/05 12:17:09 UTC
[solr] branch main updated: SOLR-16861: Correct(override) MDC info for `CoordinatorHttpSolrCall` (#1753)
This is an automated email from the ASF dual-hosted git repository.
noble 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 5a41ff0c94e SOLR-16861: Correct(override) MDC info for `CoordinatorHttpSolrCall` (#1753)
5a41ff0c94e is described below
commit 5a41ff0c94e0b3c584fe0bbc539b937519a1e5b5
Author: patsonluk <pa...@users.noreply.github.com>
AuthorDate: Wed Jul 5 05:17:04 2023 -0700
SOLR-16861: Correct(override) MDC info for `CoordinatorHttpSolrCall` (#1753)
---
.../solr/servlet/CoordinatorHttpSolrCall.java | 23 +++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java
index a9448d1310c..df95f712a4c 100644
--- a/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java
+++ b/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java
@@ -37,6 +37,7 @@ import org.apache.solr.common.util.Utils;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.CoreDescriptor;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.logging.MDCLoggingContext;
import org.apache.solr.request.DelegatingSolrQueryRequest;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
@@ -73,9 +74,11 @@ public class CoordinatorHttpSolrCall extends HttpSolrCall {
public static SolrCore getCore(
Factory factory, HttpSolrCall solrCall, String collectionName, boolean isPreferLeader) {
- String sytheticCoreName = factory.collectionVsCoreNameMapping.get(collectionName);
- if (sytheticCoreName != null) {
- return solrCall.cores.getCore(sytheticCoreName);
+ String syntheticCoreName = factory.collectionVsCoreNameMapping.get(collectionName);
+ if (syntheticCoreName != null) {
+ SolrCore syntheticCore = solrCall.cores.getCore(syntheticCoreName);
+ setMDCLoggingContext(collectionName);
+ return syntheticCore;
} else {
ZkStateReader zkStateReader = solrCall.cores.getZkController().getZkStateReader();
ClusterState clusterState = zkStateReader.getClusterState();
@@ -117,12 +120,26 @@ public class CoordinatorHttpSolrCall extends HttpSolrCall {
addReplica(syntheticCollectionName, solrCall.cores);
core = solrCall.getCoreByCollection(syntheticCollectionName, isPreferLeader);
}
+ setMDCLoggingContext(collectionName);
return core;
}
return null;
}
}
+ /**
+ * Overrides the MDC context as the core set was synthetic core, which does not reflect the
+ * collection being operated on
+ */
+ private static void setMDCLoggingContext(String collectionName) {
+ MDCLoggingContext.setCollection(collectionName);
+
+ // below is irrelevant for call to coordinator
+ MDCLoggingContext.setCoreName(null);
+ MDCLoggingContext.setShard(null);
+ MDCLoggingContext.setCoreName(null);
+ }
+
private static void addReplica(String syntheticCollectionName, CoreContainer cores) {
SolrQueryResponse rsp = new SolrQueryResponse();
try {