You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Gary Gregory <ga...@gmail.com> on 2015/06/10 18:09:48 UTC
Fwd: logging-log4j2 git commit: LOG4J2-1048 FileConfigurationMonitor
unnecessarily calls System.currentTimeMillis causing high CPU usage.
Do you feel like looking for all currentTimeMilis () call sites to check if similar fixes can be applied?
Gary
-------- Original message --------
From: rpopma@apache.org
Date: 06/10/2015 08:32 (GMT-08:00)
To: commits@logging.apache.org
Subject: logging-log4j2 git commit: LOG4J2-1048 FileConfigurationMonitor
unnecessarily calls System.currentTimeMillis causing high CPU usage.
Repository: logging-log4j2
Updated Branches:
refs/heads/master 1765760ab -> 4c95866dc
LOG4J2-1048 FileConfigurationMonitor unnecessarily calls
System.currentTimeMillis causing high CPU usage.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4c95866d
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4c95866d
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4c95866d
Branch: refs/heads/master
Commit: 4c95866dc3fcfa109730c9843da144c5bf4599ae
Parents: 1765760
Author: rpopma <rp...@apache.org>
Authored: Thu Jun 11 00:32:14 2015 +0900
Committer: rpopma <rp...@apache.org>
Committed: Thu Jun 11 00:32:14 2015 +0900
----------------------------------------------------------------------
.../logging/log4j/core/config/FileConfigurationMonitor.java | 4 ++--
src/changes/changes.xml | 3 +++
2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c95866d/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
index 38f64cf..f145696 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
@@ -73,8 +73,8 @@ public class FileConfigurationMonitor implements ConfigurationMonitor {
*/
@Override
public void checkConfiguration() {
- final long current = System.currentTimeMillis();
- if (((counter.incrementAndGet() & MASK) == 0) && (current >= nextCheck)) {
+ final long current;
+ if (((counter.incrementAndGet() & MASK) == 0) && ((current = System.currentTimeMillis()) >= nextCheck)) {
LOCK.lock();
try {
nextCheck = current + intervalSeconds;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c95866d/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index eef3aa4..e22441f 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
</properties>
<body>
<release version="2.4" date="2015-MM-DD" description="GA Release 2.4">
+ <action issue="LOG4J2-1048" dev="rpopma" type="fix" due-to="Nikhil">
+ FileConfigurationMonitor unnecessarily calls System.currentTimeMillis causing high CPU usage.
+ </action>
<action issue="LOG4J2-1023" dev="ggregory" type="add" due-to="Mikael St��ldal">
New RewritePolicy for changing level of a log event.
</action>
Re: Fwd: logging-log4j2 git commit: LOG4J2-1048 FileConfigurationMonitor
unnecessarily calls System.currentTimeMillis causing high CPU usage.
Posted by Gary Gregory <ga...@gmail.com>.
On Wed, Jun 10, 2015 at 9:30 AM, Remko Popma <re...@gmail.com> wrote:
> I was lucky to be able to grab a few cycles to contribute to log4j.
> Currently totally swamped with work. Sorry for the silence recently, but I
> don't expect this to change in the near future... :-(
>
I am glad you were able to take the time. This is quite a tricky area. I am
glad you could help. I hope to see you again here soon! :-)
Gary
>
> On Thu, Jun 11, 2015 at 1:09 AM, Gary Gregory <ga...@gmail.com>
> wrote:
>
>> Do you feel like looking for all currentTimeMilis () call sites to check
>> if similar fixes can be applied?
>>
>> Gary
>>
>>
>> -------- Original message --------
>> From: rpopma@apache.org
>> Date: 06/10/2015 08:32 (GMT-08:00)
>> To: commits@logging.apache.org
>> Subject: logging-log4j2 git commit: LOG4J2-1048 FileConfigurationMonitor
>> unnecessarily calls System.currentTimeMillis causing high CPU usage.
>>
>> Repository: logging-log4j2
>> Updated Branches:
>> refs/heads/master 1765760ab -> 4c95866dc
>>
>>
>> LOG4J2-1048 FileConfigurationMonitor unnecessarily calls
>> System.currentTimeMillis causing high CPU usage.
>>
>> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
>> Commit:
>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4c95866d
>> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4c95866d
>> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4c95866d
>>
>> Branch: refs/heads/master
>> Commit: 4c95866dc3fcfa109730c9843da144c5bf4599ae
>> Parents: 1765760
>> Author: rpopma <rp...@apache.org>
>> Authored: Thu Jun 11 00:32:14 2015 +0900
>> Committer: rpopma <rp...@apache.org>
>> Committed: Thu Jun 11 00:32:14 2015 +0900
>>
>> ----------------------------------------------------------------------
>> .../logging/log4j/core/config/FileConfigurationMonitor.java | 4 ++--
>> src/changes/changes.xml | 3 +++
>> 2 files changed, 5 insertions(+), 2 deletions(-)
>> ----------------------------------------------------------------------
>>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c95866d/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
>> ----------------------------------------------------------------------
>> diff --git
>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
>> index 38f64cf..f145696 100644
>> ---
>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
>> +++
>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
>> @@ -73,8 +73,8 @@ public class FileConfigurationMonitor implements
>> ConfigurationMonitor {
>> */
>> @Override
>> public void checkConfiguration() {
>> - final long current = System.currentTimeMillis();
>> - if (((counter.incrementAndGet() & MASK) == 0) && (current >=
>> nextCheck)) {
>> + final long current;
>> + if (((counter.incrementAndGet() & MASK) == 0) && ((current =
>> System.currentTimeMillis()) >= nextCheck)) {
>> LOCK.lock();
>> try {
>> nextCheck = current + intervalSeconds;
>>
>>
>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c95866d/src/changes/changes.xml
>> ----------------------------------------------------------------------
>> diff --git a/src/changes/changes.xml b/src/changes/changes.xml
>> index eef3aa4..e22441f 100644
>> --- a/src/changes/changes.xml
>> +++ b/src/changes/changes.xml
>> @@ -24,6 +24,9 @@
>> </properties>
>> <body>
>> <release version="2.4" date="2015-MM-DD" description="GA Release
>> 2.4">
>> + <action issue="LOG4J2-1048" dev="rpopma" type="fix"
>> due-to="Nikhil">
>> + FileConfigurationMonitor unnecessarily calls
>> System.currentTimeMillis causing high CPU usage.
>> + </action>
>> <action issue="LOG4J2-1023" dev="ggregory" type="add"
>> due-to="Mikael St��ldal">
>> New RewritePolicy for changing level of a log event.
>> </action>
>>
>>
>
--
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory
Re: Fwd: logging-log4j2 git commit: LOG4J2-1048 FileConfigurationMonitor
unnecessarily calls System.currentTimeMillis causing high CPU usage.
Posted by Remko Popma <re...@gmail.com>.
I was lucky to be able to grab a few cycles to contribute to log4j.
Currently totally swamped with work. Sorry for the silence recently, but I
don't expect this to change in the near future... :-(
On Thu, Jun 11, 2015 at 1:09 AM, Gary Gregory <ga...@gmail.com>
wrote:
> Do you feel like looking for all currentTimeMilis () call sites to check
> if similar fixes can be applied?
>
> Gary
>
>
> -------- Original message --------
> From: rpopma@apache.org
> Date: 06/10/2015 08:32 (GMT-08:00)
> To: commits@logging.apache.org
> Subject: logging-log4j2 git commit: LOG4J2-1048 FileConfigurationMonitor
> unnecessarily calls System.currentTimeMillis causing high CPU usage.
>
> Repository: logging-log4j2
> Updated Branches:
> refs/heads/master 1765760ab -> 4c95866dc
>
>
> LOG4J2-1048 FileConfigurationMonitor unnecessarily calls
> System.currentTimeMillis causing high CPU usage.
>
> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
> Commit:
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4c95866d
> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4c95866d
> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4c95866d
>
> Branch: refs/heads/master
> Commit: 4c95866dc3fcfa109730c9843da144c5bf4599ae
> Parents: 1765760
> Author: rpopma <rp...@apache.org>
> Authored: Thu Jun 11 00:32:14 2015 +0900
> Committer: rpopma <rp...@apache.org>
> Committed: Thu Jun 11 00:32:14 2015 +0900
>
> ----------------------------------------------------------------------
> .../logging/log4j/core/config/FileConfigurationMonitor.java | 4 ++--
> src/changes/changes.xml | 3 +++
> 2 files changed, 5 insertions(+), 2 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c95866d/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
> ----------------------------------------------------------------------
> diff --git
> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
> index 38f64cf..f145696 100644
> ---
> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
> +++
> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/FileConfigurationMonitor.java
> @@ -73,8 +73,8 @@ public class FileConfigurationMonitor implements
> ConfigurationMonitor {
> */
> @Override
> public void checkConfiguration() {
> - final long current = System.currentTimeMillis();
> - if (((counter.incrementAndGet() & MASK) == 0) && (current >=
> nextCheck)) {
> + final long current;
> + if (((counter.incrementAndGet() & MASK) == 0) && ((current =
> System.currentTimeMillis()) >= nextCheck)) {
> LOCK.lock();
> try {
> nextCheck = current + intervalSeconds;
>
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c95866d/src/changes/changes.xml
> ----------------------------------------------------------------------
> diff --git a/src/changes/changes.xml b/src/changes/changes.xml
> index eef3aa4..e22441f 100644
> --- a/src/changes/changes.xml
> +++ b/src/changes/changes.xml
> @@ -24,6 +24,9 @@
> </properties>
> <body>
> <release version="2.4" date="2015-MM-DD" description="GA Release 2.4">
> + <action issue="LOG4J2-1048" dev="rpopma" type="fix" due-to="Nikhil">
> + FileConfigurationMonitor unnecessarily calls
> System.currentTimeMillis causing high CPU usage.
> + </action>
> <action issue="LOG4J2-1023" dev="ggregory" type="add"
> due-to="Mikael St��ldal">
> New RewritePolicy for changing level of a log event.
> </action>
>
>