aboutsummaryrefslogtreecommitdiff
path: root/src/zenstore/include
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-05-26 14:38:38 +0200
committerGitHub Enterprise <[email protected]>2025-05-26 14:38:38 +0200
commit57622d697585720a54af1c763d43ed782f6d996b (patch)
tree8ba7ccc3d49c115a137f1d4ce11ebfd13cda156b /src/zenstore/include
parent5.6.8 (diff)
downloadzen-57622d697585720a54af1c763d43ed782f6d996b.tar.xz
zen-57622d697585720a54af1c763d43ed782f6d996b.zip
unblock cache bucket drop (#406)
* don't hold exclusive locks while deleting files from a dropped bucket/namespace * cleaner detection of missing namespace when issuing a drop
Diffstat (limited to 'src/zenstore/include')
-rw-r--r--src/zenstore/include/zenstore/cache/cachedisklayer.h24
-rw-r--r--src/zenstore/include/zenstore/cache/structuredcachestore.h4
2 files changed, 14 insertions, 14 deletions
diff --git a/src/zenstore/include/zenstore/cache/cachedisklayer.h b/src/zenstore/include/zenstore/cache/cachedisklayer.h
index 54ebb324d..b67a043df 100644
--- a/src/zenstore/include/zenstore/cache/cachedisklayer.h
+++ b/src/zenstore/include/zenstore/cache/cachedisklayer.h
@@ -183,15 +183,15 @@ public:
PutBatchHandle* BeginPutBatch(std::vector<bool>& OutResult);
void EndPutBatch(PutBatchHandle* Batch) noexcept;
- void Put(std::string_view Bucket,
- const IoHash& HashKey,
- const ZenCacheValue& Value,
- std::span<IoHash> References,
- PutBatchHandle* OptionalBatchHandle);
- bool Drop();
- bool DropBucket(std::string_view Bucket);
- void Flush();
- void ScrubStorage(ScrubContext& Ctx);
+ void Put(std::string_view Bucket,
+ const IoHash& HashKey,
+ const ZenCacheValue& Value,
+ std::span<IoHash> References,
+ PutBatchHandle* OptionalBatchHandle);
+ std::function<void()> Drop();
+ std::function<void()> DropBucket(std::string_view Bucket);
+ void Flush();
+ void ScrubStorage(ScrubContext& Ctx);
void DiscoverBuckets();
GcStorageSize StorageSize() const;
@@ -240,9 +240,9 @@ public:
void EndPutBatch(PutBatchHandle* Batch) noexcept;
void Put(const IoHash& HashKey, const ZenCacheValue& Value, std::span<IoHash> References, PutBatchHandle* OptionalBatchHandle);
uint64_t MemCacheTrim(GcClock::TimePoint ExpireTime);
- bool Drop();
- void Flush();
- void ScrubStorage(ScrubContext& Ctx);
+ std::function<void()> Drop();
+ void Flush();
+ void ScrubStorage(ScrubContext& Ctx);
RwLock::SharedLockScope GetGcReferencerLock();
struct ReferencesStats
diff --git a/src/zenstore/include/zenstore/cache/structuredcachestore.h b/src/zenstore/include/zenstore/cache/structuredcachestore.h
index 5e056cf2d..48fc17960 100644
--- a/src/zenstore/include/zenstore/cache/structuredcachestore.h
+++ b/src/zenstore/include/zenstore/cache/structuredcachestore.h
@@ -101,8 +101,8 @@ public:
void EnumerateBucketContents(std::string_view Bucket,
std::function<void(const IoHash& Key, const CacheValueDetails::ValueDetails& Details)>& Fn) const;
- bool Drop();
- void Flush();
+ std::function<void()> Drop();
+ void Flush();
// GcStorage
virtual void ScrubStorage(ScrubContext& ScrubCtx) override;