Skip to content

Commit 087b981

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 8d301c5 commit 087b981

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
@@ -2894,6 +2894,7 @@ RollbackResult MagmaKVStore::rollback(Vbid vbid,
28942894
case Status::NotFound:
28952895
case Status::Cancelled:
28962896
case Status::RetryCompaction:
2897+
case Status::RangeNotFound:
28972898
logger->critical("MagmaKVStore::rollback Rollback {} status:{}",
28982899
vbid,
28992900
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);
@@ -513,3 +532,15 @@ magma::Status MagmaMemoryTrackingProxy::ResumeBGCompaction(
513532
cb::UseArenaMallocSecondaryDomain domainGuard;
514533
return magma->ResumeBGCompaction(kvID);
515534
}
535+
536+
magma::Magma::SeqNo MagmaMemoryTrackingProxy::GetOldestHistorySeqno(
537+
magma::Magma::KVStoreID kvid) {
538+
cb::UseArenaMallocSecondaryDomain domainGuard;
539+
return magma->GetOldestHistorySeqno(kvid);
540+
}
541+
542+
magma::Magma::SeqNo MagmaMemoryTrackingProxy::GetOldestHistorySeqno(
543+
magma::Magma::Snapshot& snapshot) {
544+
cb::UseArenaMallocSecondaryDomain domainGuard;
545+
return magma->GetOldestHistorySeqno(snapshot);
546+
}

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

@@ -221,6 +227,9 @@ class MagmaMemoryTrackingProxy {
221227
magma::Status StopBGCompaction(const magma::Magma::KVStoreID kvID);
222228
magma::Status ResumeBGCompaction(const magma::Magma::KVStoreID kvID);
223229

230+
magma::Magma::SeqNo GetOldestHistorySeqno(magma::Magma::KVStoreID kvid);
231+
magma::Magma::SeqNo GetOldestHistorySeqno(magma::Magma::Snapshot& snapshot);
232+
224233
private:
225234
std::unique_ptr<magma::Magma> magma;
226235
};

0 commit comments

Comments
 (0)