[
https://issues.apache.org/jira/browse/LOG4J2-149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13552831#comment-13552831
]
Gary Gregory commented on LOG4J2-149:
-------------------------------------
Well, yeah, I've read that much ;)
I would have thought that the appender's append would add the event and that
the manager would flush itself when the buffer reaches some threshold.
Instead adding the event during the isFiltered call fells like a hack because
if you call isFiltered more than once for a given event, you'll get two log
events in the buffer. The buffer itself could easily check for that condition
of course, but then it would be carrying more complex semantics than a "cyclic
buffer".
Gary
> SMTPManager buffer access not synchronized; can result in empty emails
> ----------------------------------------------------------------------
>
> Key: LOG4J2-149
> URL: https://issues.apache.org/jira/browse/LOG4J2-149
> Project: Log4j 2
> Issue Type: Bug
> Components: Appenders
> Affects Versions: 2.0-beta4
> Environment: N/A
> Reporter: Scott Severtson
> Attachments: SMTPManager-buffer-synchronization.patch
>
>
> If multiple error events are logged against the same SMTPAppender/Manager at
> the same time, one email will contain both error messages, while the second
> will be empty (no events).
> The original SMTPAppender patch included synchronization against the
> CyclicBuffer to prevent such simultaneous access from multiple threads. This
> appears to have been lost in the merge/refactor. Patch (to follow shortly)
> re-introduces synchronization against the CyclicBuffer in the narrowest
> possible scope.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]