Fixing ASAN issues

This commit is contained in:
Josh Slocum 2021-12-08 08:42:27 -06:00
parent 3ee6d69f3d
commit c5b2b384da
3 changed files with 5 additions and 4 deletions

View File

@ -6532,6 +6532,7 @@ ACTOR Future<Standalone<VectorRef<KeyRangeRef>>> getBlobGranuleRangesActor(Trans
KeyRangeRef(blobGranuleMapping[i].key, blobGranuleMapping[i + 1].key));
}
}
results.arena().dependsOn(blobGranuleMapping.arena());
if (blobGranuleMapping.more) {
currentRange = KeyRangeRef(blobGranuleMapping.back().key, currentRange.end);
} else {

View File

@ -1172,15 +1172,16 @@ ACTOR Future<Void> chaosRangeMover(BlobManagerData* bmData) {
// FIXME: with low probability, could immediately revoke it from the new assignment and move
// it back right after to test that race
state KeyRange range = randomRange.range();
RangeAssignment revokeOld;
revokeOld.isAssign = false;
revokeOld.keyRange = randomRange.range();
revokeOld.keyRange = range;
revokeOld.revoke = RangeRevokeData(false);
bmData->rangesToAssign.send(revokeOld);
RangeAssignment assignNew;
assignNew.isAssign = true;
assignNew.keyRange = randomRange.range();
assignNew.keyRange = range;
assignNew.assign = RangeAssignmentData(); // not a continue
bmData->rangesToAssign.send(assignNew);
break;

View File

@ -86,6 +86,7 @@ struct GranuleStartState {
Optional<GranuleHistory> history;
};
// TODO add global byte limit for pending and buffered deltas
struct GranuleMetadata : NonCopyable, ReferenceCounted<GranuleMetadata> {
KeyRange keyRange;
@ -2064,12 +2065,10 @@ ACTOR Future<Void> handleBlobGranuleFileRequest(Reference<BlobWorkerData> bwData
j--;
}
j++;
[[maybe_unused]] Version latestDeltaVersion = invalidVersion;
while (j <= i) {
BlobFileIndex deltaF = chunkFiles.deltaFiles[j];
chunk.deltaFiles.emplace_back_deep(rep.arena, deltaF.filename, deltaF.offset, deltaF.length);
bwData->stats.readReqDeltaBytesReturned += deltaF.length;
latestDeltaVersion = deltaF.version;
j++;
}