diff --git a/src/Orleans.Runtime/Catalog/ActivationData.cs b/src/Orleans.Runtime/Catalog/ActivationData.cs index 043ef1b9f6..766a90153d 100644 --- a/src/Orleans.Runtime/Catalog/ActivationData.cs +++ b/src/Orleans.Runtime/Catalog/ActivationData.cs @@ -396,16 +396,16 @@ internal List DequeueAllWaitingRequests() public void DelayDeactivation(TimeSpan timespan) { - if (timespan <= TimeSpan.Zero && timespan != Timeout.InfiniteTimeSpan) - { - // reset any current keepAliveUntil - ResetKeepAliveRequest(); - } - else if (timespan == TimeSpan.MaxValue || timespan == Timeout.InfiniteTimeSpan) + if (timespan == TimeSpan.MaxValue || timespan == Timeout.InfiniteTimeSpan) { // otherwise creates negative time. KeepAliveUntil = DateTime.MaxValue; } + else if (timespan <= TimeSpan.Zero) + { + // reset any current keepAliveUntil + ResetKeepAliveRequest(); + } else { KeepAliveUntil = DateTime.UtcNow + timespan;