Gus Heck created SOLR-18050:
-------------------------------
Summary: Possible abuses of MDC context.
Key: SOLR-18050
URL: https://issues.apache.org/jira/browse/SOLR-18050
Project: Solr
Issue Type: Bug
Components: logging, Server
Affects Versions: main(11.0)
Reporter: Gus Heck
Reading Code tonight, I discovered several places where the MDC.get() method is
called for non-logging code. This seems like a code smell. MDC is a logging
infrastructure, and I think it probably isn't good to use it as a global value
passing context on which program logic depends.
Suspicious usages include:
* `this.nodeName = MDC.get(ZkStateReader.NODE_NAME_PROP);` in AuditEvent
constructor
* `assertEquals(value, MDC.get(key)` in
`org.apache.solr.handler.TestHttpRequestId#setupClientAndRun`
* `String traceId = MDCLoggingContext.getTraceId();` in
`org.apache.solr.servlet.ServletUtils#traceHttpRequestExecution2`
* `thisNode = MDCLoggingContext.getNodeName();` in OverSeerTaskProcessor's
constructor.
There seems to be one legitimate use in a test that is in fact testing MDC
usage...
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]