[
https://issues.apache.org/jira/browse/LOG4J2-2895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Carter Kozak resolved LOG4J2-2895.
----------------------------------
Resolution: Fixed
> Async logging should avoid submitting work from Log4jThread threads
> -------------------------------------------------------------------
>
> Key: LOG4J2-2895
> URL: https://issues.apache.org/jira/browse/LOG4J2-2895
> Project: Log4j 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.13.3
> Reporter: Carter Kozak
> Assignee: Carter Kozak
> Priority: Major
> Fix For: 2.14.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> In order to avoid deadlocks, when we have the option we should try to avoid
> enqueueing events for async loggers from threads that extend Log4jThread.
> Submitting events between AsyncLoggerContexts is rare, but can allow multiple
> disruptors to deadlock feeding events from one to the other. Similarly using
> both mixed async loggers with AsyncLoggerContext results in events flowing
> from one disruptor to another.
> There are several areas we can avoid these potential lockups by checking if
> the current thread is a Log4jThread and logging synchronously. Note that in
> these cases, events may be serialized to disk in an unexpected order, however
> the scenario is both sufficiently rare and dangerous that I think it's
> worthwhile to change.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)