-
Bug
-
Resolution: Done
-
Critical
-
1.2.0.GA
-
None
All threads share the very same instance of the FastCopyHashMap.
This causes the use of a MDC command (put/remove/etc) to effect ALL running threads.
The problem lies in the class org.jboss.logmanager.MDC
The static inner class Holder has the following method:
protected FastCopyHashMap<String, String> childValue(final Map<String, String> parentValue)
The signature of this method is wrong. Since Holder extends InheritableThreadLocal<FastCopyHashMap<String, String>> the correct signature would be:
protected FastCopyHashMap<String, String> childValue(final FastCopyHashMap<String, String> parentValue) { ... }
This can easily be tested by adding the @Override annotation to the method.