Project

General

Profile

Bug #55435

mon/Elector: notify_ranked_removed() does not properly erase dead_ping in the case of removing 2 monitors

Added by Kamoltat (Junior) Sirivadhna almost 2 years ago. Updated over 1 year ago.

Status:
Resolved
Priority:
Normal
Category:
Monitor
Target version:
-
% Done:

100%

Source:
Tags:
Backport:
quincy, pacific
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Monitor
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Related issues

Related to RADOS - Bug #63917: src/mon/Elector.cc: comparison of integer expressions of different signedness Fix Under Review
Copied to RADOS - Backport #56550: pacific: mon/Elector: notify_ranked_removed() does not properly erase dead_ping in the case of removing 2 monitors Resolved
Copied to RADOS - Backport #56551: quincy: mon/Elector: notify_ranked_removed() does not properly erase dead_ping in the case of removing 2 monitors Resolved

History

#1 Updated by Kamoltat (Junior) Sirivadhna almost 2 years ago

  • Subject changed from mon/Elector: notify_ranked_removed does not properly erase dead_ping to mon/Elector: notify_ranked_removed does not properly erase dead_ping in the case of removing 2 monitors

In an example scenario where we have 5 monitors:

rank_size = 5
mon.a (rank 0)
mon.b (rank 1)
mon.c (rank 2)
mon.d (rank 3)
mon.e (rank 4)

- we shutdown then remove mon.d (rank 3)
- rank_size = 4
- notifty_rank_removed will adjust the rank of mon.e to become rank 3 and erase 3 in `dead_pinging`

- we shutdown then remove mon.e (rank 3)
- rank_size = 3
- notifty_rank_removed will be called but do nothing because rank_size = 3 and the mon.e is rank 3.
- 3 will remain in `dead_pinging` forever.

#2 Updated by Kamoltat (Junior) Sirivadhna almost 2 years ago

  • Subject changed from mon/Elector: notify_ranked_removed does not properly erase dead_ping in the case of removing 2 monitors to mon/Elector: notify_ranked_removed() does not properly erase dead_ping in the case of removing 2 monitors

#3 Updated by Kamoltat (Junior) Sirivadhna almost 2 years ago

  • Pull request ID set to 46029

#4 Updated by Kamoltat (Junior) Sirivadhna almost 2 years ago

  • Status changed from New to Fix Under Review

#5 Updated by Kamoltat (Junior) Sirivadhna over 1 year ago

  • Status changed from Fix Under Review to Resolved

#6 Updated by Kamoltat (Junior) Sirivadhna over 1 year ago

  • Status changed from Resolved to Pending Backport

#7 Updated by Kamoltat (Junior) Sirivadhna over 1 year ago

  • Category set to Monitor
  • Backport set to quincy, pacific

#8 Updated by Backport Bot over 1 year ago

  • Copied to Backport #56550: pacific: mon/Elector: notify_ranked_removed() does not properly erase dead_ping in the case of removing 2 monitors added

#9 Updated by Backport Bot over 1 year ago

  • Copied to Backport #56551: quincy: mon/Elector: notify_ranked_removed() does not properly erase dead_ping in the case of removing 2 monitors added

#11 Updated by Backport Bot over 1 year ago

  • Tags set to backport_processed

#13 Updated by Konstantin Shalygin over 1 year ago

  • Status changed from Pending Backport to Resolved
  • % Done changed from 0 to 100
  • Tags deleted (backport_processed)

#14 Updated by Casey Bodley about 2 months ago

  • Related to Bug #63917: src/mon/Elector.cc: comparison of integer expressions of different signedness added

Also available in: Atom PDF