mirror of
https://github.com/apple/foundationdb.git
synced 2025-05-14 18:02:31 +08:00
FastRestore:Refactor code to enable pipeline on Applier
This commit is contained in:
parent
f436ea806e
commit
35bc92b9a4
@ -44,21 +44,7 @@ struct RestoreApplierData : RestoreRoleData, public ReferenceCounted<RestoreAppl
|
||||
// processedFileState: key: RestoreAsset; value: largest version of mutation received on the applier
|
||||
std::map<RestoreAsset, NotifiedVersion> processedFileState;
|
||||
Optional<Future<Void>> dbApplier;
|
||||
|
||||
// rangeToApplier is in master and loader. Loader uses it to determine which applier a mutation should be sent
|
||||
// KeyRef is the inclusive lower bound of the key range the applier (UID) is responsible for
|
||||
std::map<Key, UID> rangeToApplier;
|
||||
// keyOpsCount is the number of operations per key that is used to determine the key-range boundary for appliers
|
||||
std::map<Key, int> keyOpsCount;
|
||||
|
||||
// For master applier to hold the lower bound of key ranges for each appliers
|
||||
std::vector<Key> keyRangeLowerBounds;
|
||||
|
||||
// TODO: This block of variables may be moved to RestoreRoleData
|
||||
bool inProgressApplyToDB = false;
|
||||
|
||||
// Mutations at each version
|
||||
VersionedMutationsMap kvOps;
|
||||
VersionedMutationsMap kvOps; // Mutations at each version
|
||||
|
||||
void addref() { return ReferenceCounted<RestoreApplierData>::addref(); }
|
||||
void delref() { return ReferenceCounted<RestoreApplierData>::delref(); }
|
||||
@ -83,7 +69,6 @@ struct RestoreApplierData : RestoreRoleData, public ReferenceCounted<RestoreAppl
|
||||
|
||||
void resetPerVersionBatch() {
|
||||
TraceEvent("FastRestore").detail("ResetPerVersionBatchOnApplier", nodeID);
|
||||
inProgressApplyToDB = false;
|
||||
kvOps.clear();
|
||||
dbApplier = Optional<Future<Void>>();
|
||||
}
|
||||
|
@ -52,8 +52,6 @@ struct RestoreLoaderData : RestoreRoleData, public ReferenceCounted<RestoreLoade
|
||||
|
||||
// Sampled mutations to be sent back to restore master
|
||||
std::map<LoadingParam, MutationsVec> sampleMutations;
|
||||
// keyOpsCount is the number of operations per key which is used to determine the key-range boundary for appliers
|
||||
std::map<Standalone<KeyRef>, int> keyOpsCount;
|
||||
int numSampledMutations; // The total number of mutations received from sampled data.
|
||||
|
||||
Reference<IBackupContainer> bc; // Backup container is used to read backup files
|
||||
@ -80,7 +78,6 @@ struct RestoreLoaderData : RestoreRoleData, public ReferenceCounted<RestoreLoade
|
||||
void resetPerVersionBatch() {
|
||||
TraceEvent("FastRestore").detail("ResetPerVersionBatchOnLoader", nodeID);
|
||||
rangeToApplier.clear();
|
||||
keyOpsCount.clear();
|
||||
numSampledMutations = 0;
|
||||
processedFileParams.clear();
|
||||
kvOpsPerLP.clear();
|
||||
|
Loading…
x
Reference in New Issue
Block a user