Hi. Does anyone have any thoughts on this? Unless there are any objections, I will create a Jira for copying the MDC context to the new thread, as it was in Solr 8.
best, alex On Thu, Feb 16, 2023 at 8:20 AM Alex Deparvu <stilla...@apache.org> wrote: > Hi, > Wanted to raise a minor regression in Solr 9.x, the Http2SolrClient loses > MDC context information when running an async request. > The issue is the 'Request#send' [0] call is actually async itself and by > the time the response listener kicks in to push the response processing to > the executor the MDC context is already lost, so the executor will no > longer have access to the original MDC in order to push it forward onto the > thread that will process the response. > > This is very difficult to capture on a running system, there are no logs > during this window. I only saw it because I was specifically looking at > thread names for a different reason. > This is how it is reflected in the thread names: > - how it should be (Solr 8 style): > httpShardExecutor-5-thread-19-processing-gettingstarted_shard2_replica_n2 > core_node5 localhost:8983_solr gettingstarted shard2 localhost-4 > - how it is in Solr 9 (due to no MDC context) > httpShardExecutor-5-thread-10 > > I can't tell if there is anything breaking due to this. > > [0] > https://github.com/apache/solr/blob/7eee7a8ad3c43db0dc26c663dd16764d1fb3dbf4/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java#L458 > > > best, > alex >