Actions
Bug #74160
closednvmeofgw: prevent map corruption while processing beacons from gws deleted from the pending-map
Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
% Done:
0%
Source:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Tags (freeform):
Merge Commit:
Fixed In:
Released In:
Upkeep Timestamp:
Description
Fix race issue of map corruption when deleted GW sends beacons
but entry for this GW was removed from pending map and still exists(temporary) in the main quorum map.
Process beacons only if GW's data exists in both maps:
main-map and pending-map, otherwise just ignore beacons.
Before the fix when received the beacon from the deleted GW, GW-monitor looked only at the main map (this entry temporary exists there before the new epoch was produced by the Paxos) in case it exists monitor accesses the pending map[gw_id]. Upon this access the new entry was constructed by C++ with invoking default constructor. So anagrp=255 was set to the gw_id
Actions