[logback-dev] [JIRA] Resolved: (LBCLASSIC-253) MDC.clear() in child thread improperly affects parent.

Ceki Gulcu (JIRA) noreply-jira at qos.ch
Wed Mar 9 17:21:51 CET 2011


     [ http://jira.qos.ch/browse/LBCLASSIC-253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ceki Gulcu resolved LBCLASSIC-253.
----------------------------------

    Fix Version/s: 0.9.29
       Resolution: Fixed

A recent commit [1]  fixes this problem as well as LBCLASSIC-254.

[1] http://github.com/ceki/logback/commit/e068bd3b9754e8d6


> MDC.clear() in child thread improperly affects parent.
> ------------------------------------------------------
>
>                 Key: LBCLASSIC-253
>                 URL: http://jira.qos.ch/browse/LBCLASSIC-253
>             Project: logback-classic
>          Issue Type: Bug
>          Components: Other
>    Affects Versions: 0.9.28
>         Environment: JDK 1.6.0_21
>            Reporter: Tommy Becker
>            Assignee: Ceki Gulcu
>             Fix For: 0.9.29
>
>
> I want to upgrade logback to 0.9.28 but one of my unit tests caught this bug in the LogbackMDCAdapter.  Basically, if a child thread clears the MDC, the parent thread's copy is cleared as well.  This simple unit test illustrates the problem.
> import org.junit.Test;
> import org.slf4j.MDC;
> /**
>  * Demonstrates a bug in LogbackMDCAdapter.  The clear() executed by the child thread should not affect the parent.
>  */
> public class MDCTest {
>     @Test
>     public void testBug() throws InterruptedException {
>         MDC.put("foo", "bar");
>         assertEquals("bar", MDC.get("foo"));
>         
>         Thread clearer = new Thread() {
>             @Override
>             public void run() {
>                 MDC.clear();
>                 assertNull(MDC.get("foo"));
>             }
>         };
>         clearer.start();
>         clearer.join();
>         //Fails
>         assertEquals("bar", MDC.get("foo"));
>     }
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the logback-dev mailing list