[
https://issues.jboss.org/browse/WFLY-6561?page=com.atlassian.jira.plugin....
]
Stuart Douglas commented on WFLY-6561:
--------------------------------------
I can reproduce this with the following code (the problem occurs if the timer start time
is in the first second of the minute):
{code}
@PostConstruct
public void start() throws InterruptedException {
Calendar c = new GregorianCalendar();
c.set(Calendar.SECOND, 0);
c.add(Calendar.MINUTE, 1);
timerService.createCalendarTimer(new
ScheduleExpression().second("0").minute("*").hour("*").start(c.getTime()));
}
{code}
This basically ends up with a timer execution that is in the past, and for that second it
will basically queue timer tasks in a loop, which is bad.
EJB Timers Intermittently Execute Repeatedly on Server Restart with
Error Code WFLYEJB0043
------------------------------------------------------------------------------------------
Key: WFLY-6561
URL:
https://issues.jboss.org/browse/WFLY-6561
Project: WildFly
Issue Type: Bug
Components: EJB
Affects Versions: 10.0.0.Final
Reporter: Kevin Chen
Assignee: Stuart Douglas
On Wildfly10, we are experiencing intermittent problems where on server startup, an
@Timeout annotated method can be executed hundreds of times in a second (log below).
Going through the references to the @Timeout methods and the @Scheduled methods, all
scheduled methods are set to be non-persistent (ex: timerConfig.setPersistent(false),
persistent=false) so we don't know how this could occur. It is not consistent and our
only solution has been to kill the Wildfly10 server process and restart.
13:47:27,824 WARN [org.jboss.as.ejb3] (EJB default - 6) [ ] WFLYEJB0043: A previous
execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8
timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false
persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6
initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00
PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping
scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
13:47:27,825 WARN [org.jboss.as.ejb3] (EJB default - 96) [ ] WFLYEJB0043: A previous
execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8
timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false
persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6
initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00
PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping
scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
13:47:27,825 WARN [org.jboss.as.ejb3] (EJB default - 97) [ ] WFLYEJB0043: A previous
execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8
timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false
persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6
initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00
PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping
scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
13:47:27,825 WARN [org.jboss.as.ejb3] (EJB default - 37) [ ] WFLYEJB0043: A previous
execution of timer [id=d31eb95a-3f8b-4b7d-882e-f1ff53bc7de8
timedObjectId=synergy.synergy-app-head.QuartzWatcherService auto-timer?:false
persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@dec94c6
initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Wed Apr 06 12:10:00
PDT 2016 timerState=IN_TIMEOUT info=null] is still in progress, skipping this overlapping
scheduled execution at: Wed Apr 06 13:47:27 PDT 2016.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)