MCPcopy Create free account
hub / github.com/apple/foundationdb / pop

Function pop

fdbserver/BackupWorker.actor.cpp:317–334  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

315 }
316
317 void pop() {
318 if (backupEpoch > oldestBackupEpoch || stopped) {
319 // Defer pop if old epoch hasn't finished popping yet.
320 // If stopped because of displacement, do NOT pop as the progress may
321 // not be saved in a timely fashion. As a result, next epoch may still
322 // need to read mutations in the version range. Let the next epoch's
323 // worker do the pop instead.
324 TraceEvent("BackupWorkerPopDeferred", myId)
325 .suppressFor(1.0)
326 .detail("BackupEpoch", backupEpoch)
327 .detail("OldestEpoch", oldestBackupEpoch)
328 .detail("Version", savedVersion);
329 return;
330 }
331 ASSERT_WE_THINK(backupEpoch == oldestBackupEpoch);
332 const Tag popTag = logSystem.get()->getPseudoPopTag(tag, ProcessClass::BackupClass);
333 logSystem.get()->pop(std::max(popVersion, savedVersion), popTag);
334 }
335
336 void stop() {
337 stopped = true;

Callers 3

popTxsMethod · 0.70
commitMethod · 0.70
~ThreadSafeQueueMethod · 0.50

Calls 5

TraceEventClass · 0.85
detailMethod · 0.80
getPseudoPopTagMethod · 0.80
getMethod · 0.65
popMethod · 0.45

Tested by

no test coverage detected