Merge pull request #7262 from sfc-gh-xwang/readaware
Fix heap-use-after-free caused by early noErrorsActors destroy
This commit is contained in:
commit
173bcfc528
|
@ -440,6 +440,8 @@ ACTOR Future<Void> dataDistributionRelocator(struct DDQueueData* self,
|
||||||
const DDEnabledState* ddEnabledState);
|
const DDEnabledState* ddEnabledState);
|
||||||
|
|
||||||
struct DDQueueData {
|
struct DDQueueData {
|
||||||
|
ActorCollectionNoErrors noErrorActors; // has to be the last one to be destroyed because other Actors may use it.
|
||||||
|
|
||||||
UID distributorId;
|
UID distributorId;
|
||||||
MoveKeysLock lock;
|
MoveKeysLock lock;
|
||||||
Database cx;
|
Database cx;
|
||||||
|
@ -479,7 +481,6 @@ struct DDQueueData {
|
||||||
PromiseStream<RelocateData> dataTransferComplete;
|
PromiseStream<RelocateData> dataTransferComplete;
|
||||||
PromiseStream<RelocateData> relocationComplete;
|
PromiseStream<RelocateData> relocationComplete;
|
||||||
PromiseStream<RelocateData> fetchSourceServersComplete; // find source SSs for a relocate range
|
PromiseStream<RelocateData> fetchSourceServersComplete; // find source SSs for a relocate range
|
||||||
ActorCollectionNoErrors noErrorActors;
|
|
||||||
|
|
||||||
PromiseStream<RelocateShard> output;
|
PromiseStream<RelocateShard> output;
|
||||||
FutureStream<RelocateShard> input;
|
FutureStream<RelocateShard> input;
|
||||||
|
|
Loading…
Reference in New Issue