From 34b2901af727f53643dec74c244ec22947277a3e Mon Sep 17 00:00:00 2001 From: Itamar Syn-Hershko Date: Tue, 30 Sep 2014 17:01:50 +0300 Subject: [PATCH 1/2] Fix polarity error causing timeouts not to be periodically cleaned up --- .../Raven/TimeoutPersister/RavenTimeoutPersistence.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NServiceBus.Core/Persistence/Raven/TimeoutPersister/RavenTimeoutPersistence.cs b/src/NServiceBus.Core/Persistence/Raven/TimeoutPersister/RavenTimeoutPersistence.cs index a4a59fa43e..ed720e3b51 100644 --- a/src/NServiceBus.Core/Persistence/Raven/TimeoutPersister/RavenTimeoutPersistence.cs +++ b/src/NServiceBus.Core/Persistence/Raven/TimeoutPersister/RavenTimeoutPersistence.cs @@ -67,7 +67,7 @@ public List> GetNextChunk(DateTime startSlice, out DateT // Allow for occasionally cleaning up old timeouts for edge cases where timeouts have been // added after startSlice have been set to a later timout and we might have missed them // because of stale indexes. - if (lastCleanupTime.Add(TriggerCleanupEvery) > now || lastCleanupTime == DateTime.MinValue) + if (lastCleanupTime.Add(TriggerCleanupEvery) < now || lastCleanupTime == DateTime.MinValue) { results.AddRange(GetCleanupChunk(startSlice)); } From d6805654854de984c354dfede79505f42e1a7d26 Mon Sep 17 00:00:00 2001 From: John Simons Date: Thu, 2 Oct 2014 10:02:42 +1000 Subject: [PATCH 2/2] Added null check for OwningTimeoutManager --- .../Raven/TimeoutPersister/RavenTimeoutPersistence.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/NServiceBus.Core/Persistence/Raven/TimeoutPersister/RavenTimeoutPersistence.cs b/src/NServiceBus.Core/Persistence/Raven/TimeoutPersister/RavenTimeoutPersistence.cs index ed720e3b51..0dcce334e8 100644 --- a/src/NServiceBus.Core/Persistence/Raven/TimeoutPersister/RavenTimeoutPersistence.cs +++ b/src/NServiceBus.Core/Persistence/Raven/TimeoutPersister/RavenTimeoutPersistence.cs @@ -32,6 +32,7 @@ private static IRavenQueryable GetChunkQuery(IDocumentSession sessi .OrderBy(t => t.Time) .Where( t => + t.OwningTimeoutManager == null || t.OwningTimeoutManager == String.Empty || t.OwningTimeoutManager == Configure.EndpointName); }