diff --git a/src/CacheManager.Core/BaseCacheManager.GetOrAdd.cs b/src/CacheManager.Core/BaseCacheManager.GetOrAdd.cs index 1ae2e56b..2d51a1f8 100644 --- a/src/CacheManager.Core/BaseCacheManager.GetOrAdd.cs +++ b/src/CacheManager.Core/BaseCacheManager.GetOrAdd.cs @@ -128,7 +128,6 @@ private bool TryGetOrAddInternal(string key, string region, Func GetOrAddInternal(string key, string region, Func< var tries = 0; do { - tries++; var item = GetCacheItemInternal(key, region); if (item != null) { @@ -193,7 +191,7 @@ private CacheItem GetOrAddInternal(string key, string region, Func< } } } - while (tries <= Configuration.MaxRetries); + while (++tries < Configuration.MaxRetries); // should usually never occur, but could if e.g. max retries is 1 and an item gets added between the get and add. // pretty unusual, so keep the max tries at least around 50 diff --git a/src/CacheManager.Core/BaseCacheManager.Update.cs b/src/CacheManager.Core/BaseCacheManager.Update.cs index c05f25b8..3f69b7b0 100644 --- a/src/CacheManager.Core/BaseCacheManager.Update.cs +++ b/src/CacheManager.Core/BaseCacheManager.Update.cs @@ -49,8 +49,6 @@ private TCacheValue AddOrUpdateInternal(CacheItem item, Func item, Func Update(string key, string region, Logger.LogDebug("Update of {0} {1} failed with version conflict, retrying {2}/{3}", key, region, tries, maxRetries); } - while (tries <= maxRetries); + while (tries < maxRetries); return UpdateItemResult.ForTooManyRetries(tries); });