diff --git a/src/core/Akka/Actor/Scheduler/TimerScheduler.cs b/src/core/Akka/Actor/Scheduler/TimerScheduler.cs index 9f87efdc371..c73994cd5fe 100644 --- a/src/core/Akka/Actor/Scheduler/TimerScheduler.cs +++ b/src/core/Akka/Actor/Scheduler/TimerScheduler.cs @@ -293,6 +293,9 @@ public object InterceptTimerMsg(ILoggingAdapter log, ITimerMsg timerMsg) return null; // message should be ignored } + // N.B. - repeating timers never change their generation, so this check always passes. + // This means that, in theory, a repeating timer can queue up the same message many times + // in the actor's mailbox (i.e. when actor is busy) and there's no means of de-duplicating it. if (timerMsg.Generation == timer.Generation) { // valid timer