This is an automated email from the ASF dual-hosted git repository.

rpopma pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 97b8c1dc4f320e855f26a0690651fc062f08361a
Author: Remko Popma <rem...@yahoo.com>
AuthorDate: Fri Apr 22 05:15:15 2022 +0900

    LOG4J2-3473 DOC update manual for garbage-free logging
---
 src/site/xdoc/manual/garbagefree.xml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/site/xdoc/manual/garbagefree.xml 
b/src/site/xdoc/manual/garbagefree.xml
index b1c50aef39..6f68a37673 100644
--- a/src/site/xdoc/manual/garbagefree.xml
+++ b/src/site/xdoc/manual/garbagefree.xml
@@ -111,9 +111,12 @@
             will result in temporary objects being created during steady-state 
logging.
             </p>
             <p>
-              <b>Note 2:</b> the Async Logger Timeout wait strategy (the 
default) and the Block wait strategy
+              <b>Note 2:</b> as of version 2.17.3, the default Async Logger 
wait strategy used by Log4j
+              (Timeout) is garbage-free. Some of the wait strategies included 
in LMAX disruptor 3.4.4,
+              especially <tt>TimeoutBlockingWaitStrategy</tt> and 
<tt>BlockingWaitStrategy</tt> (Block)
               are not garbage-free since they
               cause 
<tt>java.util.concurrent.locks.AbstractQueuedSynchronizer$Node</tt> objects to 
be created.
+              The default wait strategy used by Log4j uses a synchronized 
block instead of a ReentrantLock to avoid this problem.
               The Yield and Sleep wait strategies are garbage-free. (For 
configuring predefined wait strategies, see
               <a href="async.html#SysPropsAllAsync">here</a> and
               <a href="async.html#SysPropsMixedSync-Async">here</a>,

Reply via email to