Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

Orchestrator GUI incorrectly shows recovery option for intermediate database in chained replication #1466

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

kamil-holubicki
Copy link

#1463

Problem:
If we've got replication chain A->B->C, and C is down, GUI shows 'Recover' dropdown for node B, but there is no possible recovery action available in such a case.

Cause:
The root cause of the problem is the analysis logic in Analysis_dao.go:GetReplicationAnalysis(). The condition for setting AllIntermediateMasterReplicasNotReplicating does not check if there are any replicas reachable. So the case when all replicas are dead (no recovery action possible) and the case when some replicas are still reachable, but are not replicating (recovery action possible) are undistingushable.

Solution:
Improve the analysis logic. Report
AllIntermediateMasterReplicasNotReplicating only if all replicas are not replicating, but there are still some reachable replicas.

This commit also contains improvement of not trying to query the node which is not reachable (ping node before examining it)

intermediate database in chained replication

openark#1463

Problem:
If we've got replication chain A->B->C, and C is down, GUI shows
'Recover' dropdown for node B, but there is no possible recovery action
available in such a case.

Cause:
The root cause of the problem is the analysis logic in
Analysis_dao.go:GetReplicationAnalysis(). The condition for setting
AllIntermediateMasterReplicasNotReplicating does not check if there are
any replicas reachable. So the case when all replicas are dead
(no recovery action possible) and the case when some replicas are still
reachable, but are not replicating (recovery action possible) are
undistingushable.

Solution:
Improve the analysis logic. Report
AllIntermediateMasterReplicasNotReplicating only if all replicas are not
replicating, but there are still some reachable replicas.

This commit also contains improvement of not trying to query the node
which is not reachable (ping node before examinig it)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant