Hi,

I'm using SLF4J MDC to log additional Information in my WebApp. Some of my
MDC-Parameters even include Line-Breaks.
It seems, that Solr takes _all_ MDC parameters and puts them into the
Thread-Name, see
org.apache.solr.common.util.ExecutorUtil.MDCAwareThreadPoolExecutor.execute(Runnable).

When there is some logging of Solr, the log gets cluttered:

[11.01.16 09:14:19:170 CET] 000002a3 SystemOut     O 09:14:19,169
[zkCallback-14-thread-1-processing-My
Custom
MDC
Parameter ROraqiFWaoXqP21gu4uLpMh SANDHO] WARN
common.cloud.ConnectionManager [session=ROraqiFWaoXqP21gu4uLpMh]
[user=SANDHO]: zkClient received AuthFailed

(some of my MDC-Parameters are only active in Email-Logs and are not
included in the file-log)

I think this is a Bug. Solr should only put its own MDC-Parameter into the
Thread-Name.

Possible Solution: Since all (as far as i can check) invocations in Solr of
MDC.put uses a Prefix like "ConcurrentUpdateSolrClient" or
"CloudSolrClient" etc., it would be possible to put a check into
MDCAwareThreadPoolExecutor.execute(Runnable) that process only those
Prefixes.

Should i open a Jira-Issue for this?

Thanks,

Konstantin

Environment: JSF-Based App with WebSphrere 8.5, Solr 5.3.0, slf4j-1.7.12,
all jars are in WEB-INF/lib.

Reply via email to