It seems a valid defect in BlockingWaitStrategy irrespective of OS. it is better to remove the support from Log4j for BlockingWaitStrategy until RCA is available from Ring Buffer.
On Wed, Mar 23, 2016 at 1:09 PM, Michael Barker (JIRA) <[email protected]> wrote: > > [ > https://issues.apache.org/jira/browse/LOG4J2-1324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15208014#comment-15208014 > ] > > Michael Barker commented on LOG4J2-1324: > ---------------------------------------- > > If you are using the FatalExceptionHandler then the BatchEventProcessor > thread will exit if an exception is encountered. This is because it > rethrows the exception. If you want to continue process messages, then you > should have an ExceptionHandler that swallows the exception. See the > IgnoreExceptionHandler as an example. Or trap the exception within your > EventHandler. > > The simple workaround for this problem is to switch to the > SleepingWaitStrategy. This is a little bit more energy consuming than the > blocking one, but is poll based so won't miss the wake-ups. > > > Async Logger - Consumer thread dying - new thread unable to start > > ----------------------------------------------------------------- > > > > Key: LOG4J2-1324 > > URL: https://issues.apache.org/jira/browse/LOG4J2-1324 > > Project: Log4j 2 > > Issue Type: Bug > > Components: Core > > Affects Versions: 2.2 > > Environment: LOG4J CORE Release Version 2.2 > > Disruptor Bundle-Version 3.3.2 > > ORACLE jdk1.8.0_45 > > Linux 2.6.32-573.el6.x86_64, amd64 > > Reporter: Ron Gonzalez > > Attachments: 2016-03-18_17-44-06.jpg, 2016-03-22_8-32-37.jpg, > BatchEventProcessor.png, log4j2_config.xml > > > > > > We are seeing a situation where the consumer thread > > "AsyncLoggerConfig-1" is apparently dying. > > We do see a new consumer thread trying to start up, but it is blocked > > waiting for a lock, so no logging is happening. > > Is this a defect in log4j? > > Is the original consumer thread dying due to perhaps an unhandled > exception ? > > Is that original consumer thread not terminating gracefully and > > releasing the locked object so the new consumer thread can start? > > Please see attached screenshot. Top of screen is normal > > asyncloggerconfig thread (consumer). > > Bottom is thread trace when logging stops, we no longer see an > > "asyncloggerconfig-1" thread, instead a new thread is trying to start > > but never does "asyncloggerconfig-2". > > > > -- > This message was sent by Atlassian JIRA > (v6.3.4#6332) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Regards, Sampath
