Hello,

I am trying to test RollingFile/Policies/CronTriggeringPolicy with 2.6.2,
but facing a strange behavior:

==> After first run it call rollover() every time.

It looks there is a regression in the code according to
https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=blobdiff;f=log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java;h=744ed249221a04b0ac53d6867e1209b5a7d1d63b;hp=3364ca4f6ffde1afccbaffd1ac11266f5ad0783f;hb=HEAD;hpb=10f724f3043852ce7a70bbfa32fa460471a72f5d

final Date fireDate = cronExpression.getNextValidTimeAfter(now);
Was replaced by:
Date fireDate = cronExpression.getNextInvalidTimeAfter(new Date());

Could you please confirm my analysis, see patch attached.
commit 1faa0ba25ef5690465c57d0e4c0e7e637b71ddb6
Author: phymbert <[email protected]>
Date:   Mon Aug 22 17:17:33 2016 +0300

    Fix Regression in ConfigurationScheduler

diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java
index 744ed24..e6291f9 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java
@@ -182,7 +182,7 @@ public class ConfigurationScheduler extends 
AbstractLifeCycle {
             } catch(final Throwable ex) {
                 LOGGER.error("Error running command", ex);
             } finally {
-                Date fireDate = cronExpression.getNextInvalidTimeAfter(new 
Date());
+                Date fireDate = cronExpression.getNextValidTimeAfter(new 
Date());
                 final ScheduledFuture<?> future = schedule(this, 
nextFireInterval(fireDate), TimeUnit.MILLISECONDS);
                 scheduledFuture.reset(future, fireDate);
             }
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to