[
https://issues.apache.org/jira/browse/LOG4J2-1518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15463785#comment-15463785
]
Remko Popma commented on LOG4J2-1518:
-------------------------------------
Leon, yes, this may result events end up in the log out of sequence. I agree
this is undesirable (but it is better than deadlock...) if there are other ways
around this, I am open to ideas.
My hope is that the case where objects doing logging in their {{toString()}}
method when the RingBuffer is full is a very rare case...
I haven't addressed this in master yet. I may be able to squeeze fixing the
DefaultAsyncQueueFullPolicy into 2.7 but it depends on when the release manager
starts the release...
> Deadlock when using pure async and toString logs another message
> ----------------------------------------------------------------
>
> Key: LOG4J2-1518
> URL: https://issues.apache.org/jira/browse/LOG4J2-1518
> Project: Log4j 2
> Issue Type: Bug
> Affects Versions: 2.6.2
> Environment: Solaris
> Reporter: Leon Finker
> Assignee: Remko Popma
> Fix For: 2.7
>
> Attachments: 10511.jstack, async_deadlock.txt
>
>
> Hi,
> It looks like this was reported before in: LOG4J2-471
> We've encountered similar issue with one of the libraries where it's toString
> was indirectly also logging. This caused a deadlock when RingBuffer was full.
> Please see attached stack snippet.
> According to the following docs, it's possible to set sync policy to
> synchronously log the event if buffer is full. I don't see it documented.
> What's the policy option?
> https://issues.apache.org/jira/plugins/servlet/mobile#issue/LOG4J2-1080
> https://logging.apache.org/log4j/2.x/log4j-core/apidocs/org/apache/logging/log4j/core/async/AsyncQueueFullPolicyFactory.html
> Thank you
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]