diff --git a/src/azure/Timeout/NServiceBus.Timeout.Hosting.Azure/TimeoutLogic/TimeoutPersister.cs b/src/azure/Timeout/NServiceBus.Timeout.Hosting.Azure/TimeoutLogic/TimeoutPersister.cs index 9505cf4bb08..478e22d4535 100644 --- a/src/azure/Timeout/NServiceBus.Timeout.Hosting.Azure/TimeoutLogic/TimeoutPersister.cs +++ b/src/azure/Timeout/NServiceBus.Timeout.Hosting.Azure/TimeoutLogic/TimeoutPersister.cs @@ -24,11 +24,11 @@ IEnumerable IPersistTimeouts.GetAll() SagaId = c.SagaId, State = Deserialize(c.StateAddress), Time = c.Time, - CorrelationId = c.CorrelationId + CorrelationId = c.CorrelationId, + Id = c.RowKey }); } - void IPersistTimeouts.Add(TimeoutData timeout) { var hash = Hash(timeout); @@ -52,10 +52,8 @@ void IPersistTimeouts.Add(TimeoutData timeout) public void Remove(string timeoutId) { - //todo: we need to make this work using the Id of the timeout data - var hash = Hash(new TimeoutData()); TimeoutDataEntity timeoutDataEntity; - if (!TryGetTimeoutData(hash, out timeoutDataEntity)) return; + if (!TryGetTimeoutData(timeoutId, out timeoutDataEntity)) return; RemoveSerializedState(timeoutDataEntity.StateAddress); context.DeleteObject(timeoutDataEntity); @@ -87,9 +85,8 @@ public void ClearTimeoutsFor(Guid sagaId) public bool CanSend(TimeoutData data) { - var hash = Hash(data); TimeoutDataEntity timeoutDataEntity; - if (!TryGetTimeoutData(hash, out timeoutDataEntity)) return false; + if (!TryGetTimeoutData(data.Id, out timeoutDataEntity)) return false; var leaseBlob = container.GetBlockBlobReference(timeoutDataEntity.StateAddress);