On Sun, Mar 9, 2008 at 11:38 PM, Emmanuel Lecharny <[EMAIL PROTECTED]> wrote:
> Niklas Gustavsson wrote:
>  > When doing some load testing on FtpServer, I ran into a threading
>  > issue in MdcInjectionFilter.
>  This error might be something different than a threading issue. This is
>  a typical error you get when doing a loop on a HashMap, and inside the
>  loop, you remove the current element and expect the loop to continue.
>
>  Switching to another kind of structure should fix this problem, without
>  changing a lot of code.

Yes, the MdcInjectionFilter iterates over a Map containing the current
context, at the same time, setProperty() adds an entry to the same
Map.. Changing the currently used HashMap into a ConcurrentHashMap
fixes the issue for me. Now, ConcurrentHashMap does not allow null
keys or values, but from what I can see, we do not allow null keys and
treats null values as a removal, so that should be fine. Did I miss
anything or would you like me to make that change?

/niklas

Reply via email to