[PD] Prevent update_status to Failed from cleared entries (#24539)
Signed-off-by: Shangming Cai <csmthu@gmail.com>
This commit is contained in:
@@ -190,6 +190,12 @@ class CommonKVManager(BaseKVManager):
|
|||||||
):
|
):
|
||||||
self.req_to_decode_prefix_len.pop(bootstrap_room, None)
|
self.req_to_decode_prefix_len.pop(bootstrap_room, None)
|
||||||
if bootstrap_room not in self.request_status:
|
if bootstrap_room not in self.request_status:
|
||||||
|
# Do not resurrect a cleared entry with Failed: once clear() has
|
||||||
|
# popped the room from request_status, any late update_status(Failed)
|
||||||
|
# (e.g. from abort()) must be a no-op. Otherwise a Failed entry could
|
||||||
|
# pollute a future request that reuses the same bootstrap_room.
|
||||||
|
if status == KVPoll.Failed:
|
||||||
|
return
|
||||||
self.request_status[bootstrap_room] = status
|
self.request_status[bootstrap_room] = status
|
||||||
else:
|
else:
|
||||||
if status == KVPoll.Failed:
|
if status == KVPoll.Failed:
|
||||||
|
|||||||
Reference in New Issue
Block a user