<div dir="ltr"><div>Hi Kumar,</div><div><br></div><div>MDC is stored in Thead Local variable. <br></div><div>When you are using a thead pool: the calling thread A pushes an event in a wait queue, and then (sometimes later), the called thread B pops the event from the queue and runs it.</div><div><br></div><div>As a result, <br></div><div>1) the MDC is not propagated from thread A to thread B. <br></div><div>2) the MDC of thread B may reused for all events consumed from the queue: this can cause wrong MDC.</div><div><br></div><div>To solver these problems, you should:<br></div><div>1) MDC not propagated: Thread A copies the MDC info in the event, Thread B sets MDC from info in the event.</div><div>2) MDC is reused: Thread B clears the whole MDC before running a new event.</div><div>
<div><br></div><div>This is not a problem with SLF4J but with thread locals in general.<br></div><div></div>

</div><br><div>Gérald<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">Le jeu. 27 sept. 2018 à 12:48, kumar saurabh <<a href="mailto:sabs.blitz@gmail.com">sabs.blitz@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi,<div><br></div><div>I am working on microservices stack and using correlation id (Unique request id) generated via nginx to log into each microservice logs. I am using MDC for extracting this from request header in OncePerRequestFilter in java.</div><div><br></div><div>One of the microservice then use java thread executor framework and then call other microservices.</div><div><br></div><div>Can using MDC with executor (java thread pool) mess up due to thread re use? Is it possible that I get either empty MDC context or incorrect context due to thread reuse?</div><div><br></div><div>I am referring below link where one such scenario is explained:</div><div><a href="http://ashtonkemerling.com/blog/2017/09/01/mdc-and-threadpools/" target="_blank">http://ashtonkemerling.com/blog/2017/09/01/mdc-and-threadpools/</a></div><div><br></div><div>A response is appreciated! Thanks<br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_-4352569910347978374gmail_signature">Regards,<div>Kumar Saurabh</div></div></div></div></div>
_______________________________________________<br>
slf4j-user mailing list<br>
<a href="mailto:slf4j-user@qos.ch" target="_blank">slf4j-user@qos.ch</a><br>
<a href="http://mailman.qos.ch/mailman/listinfo/slf4j-user" rel="noreferrer" target="_blank">http://mailman.qos.ch/mailman/listinfo/slf4j-user</a></blockquote></div>