marcoCasamento / Hangfire.Redis.StackExchange

HangFire Redis storage based on original (and now unsupported) Hangfire.Redis but using lovely StackExchange.Redis client
Other
452 stars 108 forks source link

Execution Worker is in the Failed state now due to an exception, execution will be retried no more than in 00:00:04 #89

Closed sampsonye closed 3 years ago

sampsonye commented 4 years ago
System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
at System.Collections.Generic.HashSet`1.Contains(System.Collections.Generic.T item)
at Hangfire.Redis.RedisLock.Acquire(StackExchange.Redis.IDatabase redis, StackExchange.Redis.RedisKey key, System.TimeSpan timeOut, System.TimeSpan holdDuration)
at Hangfire.Redis.RedisLock.Acquire(StackExchange.Redis.IDatabase redis, StackExchange.Redis.RedisKey key, System.TimeSpan timeOut)
at Hangfire.Redis.RedisConnection.AcquireDistributedLock(System.String resource, System.TimeSpan timeout)
at Hangfire.Storage.StorageConnectionExtensions.AcquireDistributedJobLock(Hangfire.Storage.IStorageConnection connection, System.String jobId, System.TimeSpan timeout) at offset 28
at Hangfire.States.BackgroundJobStateChanger.ChangeState(Hangfire.States.StateChangeContext context)
at Hangfire.Server.Worker.TryChangeState(Hangfire.Server.BackgroundProcessContext context, Hangfire.Storage.IStorageConnection connection, Hangfire.Storage.IFetchedJob fetchedJob, Hangfire.States.IState state, System.String[] expectedStates, System.Threading.CancellationToken initializeToken, System.Threading.CancellationToken abortToken) at offset 258
at Hangfire.Server.Worker.Execute(Hangfire.Server.BackgroundProcessContext context)
at Hangfire.Server.BackgroundProcessDispatcherBuilder.ExecuteProcess(System.Guid executionId, System.Object state) at offset 123
at Hangfire.Processing.BackgroundExecution.Run(System.Action`2 callback, System.Object state) at offset 69
marcoCasamento commented 4 years ago

Hi, I'm planning to look at this (and others), how to repro ? hangfire ver ?