diff options
| author | Dan Engelbrecht <[email protected]> | 2026-02-11 13:58:08 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2026-02-11 13:58:08 +0100 |
| commit | 885612b5562b52cb15f0dbb6d046500ea8090779 (patch) | |
| tree | ddb903ea486df0353251ee6efe023107511db3c7 /src/zenstore/include | |
| parent | 5.7.20 (diff) | |
| download | zen-885612b5562b52cb15f0dbb6d046500ea8090779.tar.xz zen-885612b5562b52cb15f0dbb6d046500ea8090779.zip | |
reduce lock time for project store gc precache and gc validate (#750)
* add oplog snapshot function to allow reduction of held oplog locks
* release project lock when precaching each oplog
Diffstat (limited to 'src/zenstore/include')
| -rw-r--r-- | src/zenstore/include/zenstore/projectstore.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/zenstore/include/zenstore/projectstore.h b/src/zenstore/include/zenstore/projectstore.h index 09c3096ad..33ef996db 100644 --- a/src/zenstore/include/zenstore/projectstore.h +++ b/src/zenstore/include/zenstore/projectstore.h @@ -238,6 +238,16 @@ public: std::atomic_bool& IsCancelledFlag, WorkerThreadPool* OptionalWorkerPool); + struct OplogSnapshot + { + std::vector<CbObjectView> Ops; + std::vector<Oid> Keys; + std::vector<LogSequenceNumber> LSNs; + std::vector<IoBuffer> PayloadBuffers; + }; + + OplogSnapshot GetSnapshotLocked(); + private: struct FileMapEntry { |