You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by GitBox <gi...@apache.org> on 2019/05/21 01:37:02 UTC

[GitHub] [logging-log4j2] remkop commented on issue #269: LOG4J2-2609: Implement Synchronous AsyncQueueFullPolicy

remkop commented on issue #269: LOG4J2-2609: Implement Synchronous AsyncQueueFullPolicy
URL: https://github.com/apache/logging-log4j2/pull/269#issuecomment-494206750
 
 
   I agree that the SYNCHRONOUS policy won't be very useful in reality. (A few years ago when this was the default policy we regularly got jumbled logs when our app was logging too much; my team members hated it: it made the log files useless...)
   
   When you say "synchronize around the enqueue operation", that sounds wrong to me. The point of the Disruptor is to avoid synchronization in the app and leave that to the WaitStrategy. Shouldn't we just use a different WaitStrategy instead? The Disruptor offers a range of options:
   
   * [BlockingWaitStrategy](https://github.com/LMAX-Exchange/disruptor/blob/master/src/main/java/com/lmax/disruptor/BlockingWaitStrategy.java) - essentially this gives synchronization, if I understand correctly...
   * [BusySpinWaitStrategy](https://github.com/LMAX-Exchange/disruptor/blob/master/src/main/java/com/lmax/disruptor/BusySpinWaitStrategy.java) - the other extreme: sacrifice a core to get the absolute minimal latency
   * [LiteBlockingWaitStrategy](https://github.com/LMAX-Exchange/disruptor/blob/master/src/main/java/com/lmax/disruptor/LiteBlockingWaitStrategy.java)
   * [LiteTimeoutBlockingWaitStrategy](https://github.com/LMAX-Exchange/disruptor/blob/master/src/main/java/com/lmax/disruptor/LiteTimeoutBlockingWaitStrategy.java)
   * [PhasedBackoffWaitStrategy](https://github.com/LMAX-Exchange/disruptor/blob/master/src/main/java/com/lmax/disruptor/PhasedBackoffWaitStrategy.java)
   * [SleepingWaitStrategy](https://github.com/LMAX-Exchange/disruptor/blob/master/src/main/java/com/lmax/disruptor/SleepingWaitStrategy.java)
   * [TimeoutBlockingWaitStrategy](https://github.com/LMAX-Exchange/disruptor/blob/master/src/main/java/com/lmax/disruptor/TimeoutBlockingWaitStrategy.java)
   * [YieldingWaitStrategy](https://github.com/LMAX-Exchange/disruptor/blob/master/src/main/java/com/lmax/disruptor/YieldingWaitStrategy.java)

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services