diff --git a/tensorstore/internal/cache/cache.cc b/tensorstore/internal/cache/cache.cc index 317755a9..454f8db6 100644 --- a/tensorstore/internal/cache/cache.cc +++ b/tensorstore/internal/cache/cache.cc @@ -362,6 +362,9 @@ void StrongPtrTraitsCacheEntry::decrement_impl( cache->reference_count_.fetch_sub(CacheImpl::kNonEmptyShardIncrement, std::memory_order_relaxed); } + // Release lock before invoking entry destructor, as that may be + // expensive. + lock = {}; delete entry_impl; } } else {