It seems there is a race condition between the IgniteScheduler scheduleLocal() 
and nextExecutionTime() methods, so that nextExecutionTime() sometimes reports 
the current execution time when called from with the closure being executed by 
scheduleLocal() - my hypothesis is that the data structures for determining 
next execution time are being updated by a different thread just after the 
closure is executed. When I insert a Thread.sleep() with a short delay into my 
scheduled closure implementation, the intermittent inaccurate next execution 
time goes away.

Has anybody else observed such behavior? Can someone on the development team 
confirm if the code contains such a race condition?

Thanks.

Reply via email to