Skip to content

Commit 65a919c

Browse files
committed
MB-54729: Add CDC Magma API to MagmaMemoryTrackingProxy
Make new magma API available for use in MagmaKVStore Change-Id: Idf2bf082c3ecb78b93e393c1d6b796b598e3b80b
1 parent 28813f8 commit 65a919c

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed

engines/ep/src/kvstore/magma-kvstore/magma-kvstore.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2882,6 +2882,7 @@ RollbackResult MagmaKVStore::rollback(Vbid vbid,
28822882
case Status::NotFound:
28832883
case Status::Cancelled:
28842884
case Status::RetryCompaction:
2885+
case Status::RangeNotFound:
28852886
logger->critical("MagmaKVStore::rollback Rollback {} status:{}",
28862887
vbid,
28872888
status.String());

engines/ep/src/kvstore/magma-kvstore/magma-memory-tracking-proxy.cc

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@ DomainAwareSeqIterator::~DomainAwareSeqIterator() {
3131
itr.reset();
3232
}
3333

34+
magma::Status DomainAwareSeqIterator::Initialize(
35+
const magma::Magma::SeqNo startSeqno,
36+
const magma::Magma::SeqNo endSeqno,
37+
Mode mode) {
38+
cb::UseArenaMallocSecondaryDomain domainGuard;
39+
return itr->Initialize(startSeqno, endSeqno, mode);
40+
}
41+
3442
magma::Status DomainAwareSeqIterator::GetStatus() {
3543
cb::UseArenaMallocSecondaryDomain domainGuard;
3644
return itr->GetStatus();
@@ -447,6 +455,17 @@ void MagmaMemoryTrackingProxy::SetNumThreads(
447455
magma->SetNumThreads(threadType, nThreads);
448456
}
449457

458+
void MagmaMemoryTrackingProxy::SetHistoryRetentionSize(size_t historyBytes) {
459+
cb::UseArenaMallocSecondaryDomain domainGuard;
460+
magma->SetHistoryRetentionSize(historyBytes);
461+
}
462+
463+
void MagmaMemoryTrackingProxy::SetHistoryRetentionTime(
464+
uint64_t historySeconds) {
465+
cb::UseArenaMallocSecondaryDomain domainGuard;
466+
magma->SetHistoryRetentionTime(historySeconds);
467+
}
468+
450469
magma::Status MagmaMemoryTrackingProxy::Sync(bool flushAll) {
451470
cb::UseArenaMallocSecondaryDomain domainGuard;
452471
return magma->Sync(flushAll);
@@ -511,3 +530,15 @@ magma::Status MagmaMemoryTrackingProxy::ResumeBGCompaction(
511530
cb::UseArenaMallocSecondaryDomain domainGuard;
512531
return magma->ResumeBGCompaction(kvID);
513532
}
533+
534+
magma::Magma::SeqNo MagmaMemoryTrackingProxy::GetOldestHistorySeqno(
535+
magma::Magma::KVStoreID kvid) {
536+
cb::UseArenaMallocSecondaryDomain domainGuard;
537+
return magma->GetOldestHistorySeqno(kvid);
538+
}
539+
540+
magma::Magma::SeqNo MagmaMemoryTrackingProxy::GetOldestHistorySeqno(
541+
magma::Magma::Snapshot& snapshot) {
542+
cb::UseArenaMallocSecondaryDomain domainGuard;
543+
return magma->GetOldestHistorySeqno(snapshot);
544+
}

engines/ep/src/kvstore/magma-kvstore/magma-memory-tracking-proxy.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ class DomainAwareSeqIterator : public magma::Magma::SeqIterator {
4848
: itr(std::move(itr)) {
4949
}
5050
~DomainAwareSeqIterator() override;
51+
magma::Status Initialize(const magma::Magma::SeqNo startSeqno,
52+
const magma::Magma::SeqNo endSeqno,
53+
Mode mode) override;
5154
void Seek(const magma::Magma::SeqNo startSeqno,
5255
const magma::Magma::SeqNo endSeqno) override;
5356
bool Valid() override;
@@ -205,6 +208,9 @@ class MagmaMemoryTrackingProxy {
205208
void EnableBlockCache(bool enable);
206209
void SetMemoryQuota(const size_t quota);
207210
void SetNumThreads(magma::Magma::ThreadType threadType, size_t nThreads);
211+
void SetHistoryRetentionSize(size_t historyBytes);
212+
void SetHistoryRetentionTime(uint64_t historySeconds);
213+
208214
magma::Status Sync(bool flushAll);
209215
magma::Status SyncKVStore(const magma::Magma::KVStoreID kvID);
210216
magma::Status WriteDocs(
@@ -217,6 +223,9 @@ class MagmaMemoryTrackingProxy {
217223
magma::Status StopBGCompaction(const magma::Magma::KVStoreID kvID);
218224
magma::Status ResumeBGCompaction(const magma::Magma::KVStoreID kvID);
219225

226+
magma::Magma::SeqNo GetOldestHistorySeqno(magma::Magma::KVStoreID kvid);
227+
magma::Magma::SeqNo GetOldestHistorySeqno(magma::Magma::Snapshot& snapshot);
228+
220229
private:
221230
std::unique_ptr<magma::Magma> magma;
222231
};

0 commit comments

Comments
 (0)