Project

General

Profile

Actions

Bug #55435

closed

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

Added by Kamoltat (Junior) Sirivadhna about 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 3 (1 open2 closed)

Related to RADOS - Bug #63917: src/mon/Elector.cc: comparison of integer expressions of different signednessFix Under Review

Actions
Copied to RADOS - Backport #56550: pacific: mon/Elector: notify_ranked_removed() does not properly erase dead_ping in the case of removing 2 monitorsResolvedKamoltat (Junior) SirivadhnaActions
Copied to RADOS - Backport #56551: quincy: mon/Elector: notify_ranked_removed() does not properly erase dead_ping in the case of removing 2 monitorsResolvedActions
Actions #1

Updated by Kamoltat (Junior) Sirivadhna about 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.

Actions #2

Updated by Kamoltat (Junior) Sirivadhna about 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
Actions #3

Updated by Kamoltat (Junior) Sirivadhna almost 2 years ago

  • Pull request ID set to 46029
Actions #4

Updated by Kamoltat (Junior) Sirivadhna almost 2 years ago

  • Status changed from New to Fix Under Review
Actions #5

Updated by Kamoltat (Junior) Sirivadhna almost 2 years ago

  • Status changed from Fix Under Review to Resolved
Actions #6

Updated by Kamoltat (Junior) Sirivadhna almost 2 years ago

  • Status changed from Resolved to Pending Backport
Actions #7

Updated by Kamoltat (Junior) Sirivadhna almost 2 years ago

  • Category set to Monitor
  • Backport set to quincy, pacific
Actions #8

Updated by Backport Bot almost 2 years 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
Actions #9

Updated by Backport Bot almost 2 years 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
Actions #11

Updated by Backport Bot almost 2 years ago

  • Tags set to backport_processed
Actions #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)
Actions #14

Updated by Casey Bodley 5 months ago

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

Also available in: Atom PDF