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

Method removeBackupWorker

fdbserver/TagPartitionedLogSystem.actor.cpp:1831–1862  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1829}
1830
1831bool TagPartitionedLogSystem::removeBackupWorker(const BackupWorkerDoneRequest& req) {
1832 bool removed = false;
1833 Reference<LogSet> logset = getEpochLogSet(req.backupEpoch);
1834 if (logset.isValid()) {
1835 for (auto it = logset->backupWorkers.begin(); it != logset->backupWorkers.end(); it++) {
1836 if (it->getPtr()->get().interf().id() == req.workerUID) {
1837 logset->backupWorkers.erase(it);
1838 removed = true;
1839 break;
1840 }
1841 }
1842 }
1843
1844 if (removed) {
1845 oldestBackupEpoch = epoch;
1846 for (const auto& old : oldLogData) {
1847 if (old.epoch < oldestBackupEpoch && old.tLogs[0]->backupWorkers.size() > 0) {
1848 oldestBackupEpoch = old.epoch;
1849 }
1850 }
1851 backupWorkerChanged.trigger();
1852 } else {
1853 removedBackupWorkers.insert(req.workerUID);
1854 }
1855
1856 TraceEvent("RemoveBackupWorker", dbgid)
1857 .detail("Removed", removed)
1858 .detail("BackupEpoch", req.backupEpoch)
1859 .detail("WorkerID", req.workerUID)
1860 .detail("OldestBackupEpoch", oldestBackupEpoch);
1861 return removed;
1862}
1863
1864LogEpoch TagPartitionedLogSystem::getOldestBackupEpoch() const {
1865 return oldestBackupEpoch;

Callers 1

whenFunction · 0.80

Calls 12

TraceEventClass · 0.85
detailMethod · 0.80
getMethod · 0.65
isValidMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
idMethod · 0.45
getPtrMethod · 0.45
eraseMethod · 0.45
sizeMethod · 0.45
triggerMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected