[logback-dev] [JIRA] Commented: (LBCLASSIC-70) Let the LogbackMDCAdapter exhibit a full copy on write semantics

Szel Zoltan (JIRA) noreply-jira at qos.ch
Wed Oct 29 12:50:21 CET 2008


    [ http://jira.qos.ch/browse/LBCLASSIC-70?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=10842#action_10842 ] 

Szel Zoltan commented on LBCLASSIC-70:
--------------------------------------

Hello Ceki,

the problem relies in the clear() and setContextMap() methods. Both of them destorys the original map, which in my situation is  assigned to LoggingEvents sitting in a queue and waiting for to be processed. 

Neither of this method should change the content of the original map.
Proposed solution:

public void clear() {
    copyOnInheritThreadLocal.remove();
}

public void setContextMap(Map contextMap) {
    HashMap<String, String> newMap = new HashMap<String, String>();
    newMap.putAll(contextMap);
   
    copyOnInheritThreadLocal.set(newMap);
  }
}

l



> Let the LogbackMDCAdapter exhibit a full copy on write semantics
> ----------------------------------------------------------------
>
>                 Key: LBCLASSIC-70
>                 URL: http://jira.qos.ch/browse/LBCLASSIC-70
>             Project: logback-classic
>          Issue Type: Improvement
>          Components: Other
>    Affects Versions: 0.9.9, 0.9.10
>            Reporter: Szel Zoltan
>            Assignee: Logback dev list
>             Fix For: unspecified
>
>
> Hi,
> I have implemented an async appender and i was very happy seeing that most of the methods of the MDCAdapter exhibits copy on write semantics. This is very handy in this scenerio, it helps to transfer the MDC map onto the background thread. But i have noticed, that the clear and setContextMap methods are breaking this semantics. Is there any chance in the next release to change the implementation of the clear and setContextMap to conform with cow?
> Thanks very much.
> P.S.: We are waiting for legal approval to contribute our appender implementation back to the community.
> Best Regards,
> Zoltan Szel

-- 
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