You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2022/04/26 08:08:44 UTC

[logging-log4j2] 03/03: LOG4J2-3473 DOC update manual for garbage-free logging

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 <re...@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>,


Re: [logging-log4j2] 03/03: LOG4J2-3473 DOC update manual for garbage-free logging

Posted by Remko Popma <re...@gmail.com>.
Yes, thank you for pointing that out!
Fixed now.
:-)

On Wed, Apr 27, 2022 at 12:43 AM Matt Sicker <bo...@gmail.com> wrote:

> I think the next version is 2.18.0 at this point.
>
> On Tue, Apr 26, 2022 at 3:08 AM <rp...@apache.org> wrote:
> >
> > 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 <re...@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>,
> >
>

Re: [logging-log4j2] 03/03: LOG4J2-3473 DOC update manual for garbage-free logging

Posted by Matt Sicker <bo...@gmail.com>.
I think the next version is 2.18.0 at this point.

On Tue, Apr 26, 2022 at 3:08 AM <rp...@apache.org> wrote:
>
> 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 <re...@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>,
>