Details
-
Bug
-
Resolution: Fixed
-
Major
-
6.0.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.5.1, 6.5.0
-
None
-
Untriaged
-
1
-
Unknown
Description
Whenever a listener is being removed from the leader, a notification is sent to leader's change channel. This is done while holding a lock. If the channel is full, the function will block here.
On the other side, if leaderServer is processing a notification on leader's change channel, It will call GetActiveEnsembleSize which also attempts to take same lock (which is held by removeListener), and hence leading to a deadlock.
Attachments
Issue Links
- backports to
-
MB-39477 [Backport MB-39163 to 6.6.0] Avoid possible deadlock in removeListener in gometa leader
- Closed
-
MB-40407 [Backport MB-39163 to 6.0.5] Avoid possible deadlock in removeListener in gometa leader
- Closed
-
MB-43047 [Backport MB-39163 to 6.5.2] Avoid possible deadlock in removeListener in gometa leader
- Closed