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.
