private async Task InvalidateCacheEntryAsync(CoordinationEntryPath path, CancellationToken cancellation) { var cacheEntry = _cache.GetEntry(path); if (!cacheEntry.TryGetEntry(out var entry)) { entry = await _storage.GetEntryAsync(path, cancellation); } _cache.InvalidateEntry(path); await LockManager.ReleaseReadLockAsync(entry, cancellation); }
public async Task AcquireLocalReadLockAsync(CoordinationEntryPath path, CancellationToken cancellation) { var cacheEntry = _cache.GetEntry(path); await cacheEntry.LocalReadLock.WaitAsync(cancellation); }