Fixing ASAN issues
This commit is contained in:
parent
3ee6d69f3d
commit
c5b2b384da
|
@ -6532,6 +6532,7 @@ ACTOR Future<Standalone<VectorRef<KeyRangeRef>>> getBlobGranuleRangesActor(Trans
|
||||||
KeyRangeRef(blobGranuleMapping[i].key, blobGranuleMapping[i + 1].key));
|
KeyRangeRef(blobGranuleMapping[i].key, blobGranuleMapping[i + 1].key));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
results.arena().dependsOn(blobGranuleMapping.arena());
|
||||||
if (blobGranuleMapping.more) {
|
if (blobGranuleMapping.more) {
|
||||||
currentRange = KeyRangeRef(blobGranuleMapping.back().key, currentRange.end);
|
currentRange = KeyRangeRef(blobGranuleMapping.back().key, currentRange.end);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1172,15 +1172,16 @@ ACTOR Future<Void> chaosRangeMover(BlobManagerData* bmData) {
|
||||||
// FIXME: with low probability, could immediately revoke it from the new assignment and move
|
// FIXME: with low probability, could immediately revoke it from the new assignment and move
|
||||||
// it back right after to test that race
|
// it back right after to test that race
|
||||||
|
|
||||||
|
state KeyRange range = randomRange.range();
|
||||||
RangeAssignment revokeOld;
|
RangeAssignment revokeOld;
|
||||||
revokeOld.isAssign = false;
|
revokeOld.isAssign = false;
|
||||||
revokeOld.keyRange = randomRange.range();
|
revokeOld.keyRange = range;
|
||||||
revokeOld.revoke = RangeRevokeData(false);
|
revokeOld.revoke = RangeRevokeData(false);
|
||||||
bmData->rangesToAssign.send(revokeOld);
|
bmData->rangesToAssign.send(revokeOld);
|
||||||
|
|
||||||
RangeAssignment assignNew;
|
RangeAssignment assignNew;
|
||||||
assignNew.isAssign = true;
|
assignNew.isAssign = true;
|
||||||
assignNew.keyRange = randomRange.range();
|
assignNew.keyRange = range;
|
||||||
assignNew.assign = RangeAssignmentData(); // not a continue
|
assignNew.assign = RangeAssignmentData(); // not a continue
|
||||||
bmData->rangesToAssign.send(assignNew);
|
bmData->rangesToAssign.send(assignNew);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -86,6 +86,7 @@ struct GranuleStartState {
|
||||||
Optional<GranuleHistory> history;
|
Optional<GranuleHistory> history;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// TODO add global byte limit for pending and buffered deltas
|
||||||
struct GranuleMetadata : NonCopyable, ReferenceCounted<GranuleMetadata> {
|
struct GranuleMetadata : NonCopyable, ReferenceCounted<GranuleMetadata> {
|
||||||
KeyRange keyRange;
|
KeyRange keyRange;
|
||||||
|
|
||||||
|
@ -2064,12 +2065,10 @@ ACTOR Future<Void> handleBlobGranuleFileRequest(Reference<BlobWorkerData> bwData
|
||||||
j--;
|
j--;
|
||||||
}
|
}
|
||||||
j++;
|
j++;
|
||||||
[[maybe_unused]] Version latestDeltaVersion = invalidVersion;
|
|
||||||
while (j <= i) {
|
while (j <= i) {
|
||||||
BlobFileIndex deltaF = chunkFiles.deltaFiles[j];
|
BlobFileIndex deltaF = chunkFiles.deltaFiles[j];
|
||||||
chunk.deltaFiles.emplace_back_deep(rep.arena, deltaF.filename, deltaF.offset, deltaF.length);
|
chunk.deltaFiles.emplace_back_deep(rep.arena, deltaF.filename, deltaF.offset, deltaF.length);
|
||||||
bwData->stats.readReqDeltaBytesReturned += deltaF.length;
|
bwData->stats.readReqDeltaBytesReturned += deltaF.length;
|
||||||
latestDeltaVersion = deltaF.version;
|
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue