Skip to content

Commit ec7eebe

Browse files
committed
Improved availability check for active failover
1 parent dc277a7 commit ec7eebe

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

pkg/deployment/reconcile/action_wait_for_member_up.go

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func (a *actionWaitForMemberUp) CheckProgress(ctx context.Context) (bool, bool,
7474
if a.action.Group == api.ServerGroupAgents {
7575
return a.checkProgressAgent(ctx)
7676
}
77-
return a.checkProgressSingle(ctx)
77+
return a.checkProgressSingleInActiveFailover(ctx)
7878
default:
7979
if a.action.Group == api.ServerGroupAgents {
8080
return a.checkProgressAgent(ctx)
@@ -99,6 +99,26 @@ func (a *actionWaitForMemberUp) checkProgressSingle(ctx context.Context) (bool,
9999
return true, false, nil
100100
}
101101

102+
// checkProgressSingleInActiveFailover checks the progress of the action in the case
103+
// of a single server as part of an active failover deployment.
104+
func (a *actionWaitForMemberUp) checkProgressSingleInActiveFailover(ctx context.Context) (bool, bool, error) {
105+
log := a.log
106+
c, err := a.actionCtx.GetDatabaseClient(ctx)
107+
if err != nil {
108+
log.Debug().Err(err).Msg("Failed to create database client")
109+
return false, false, maskAny(err)
110+
}
111+
if _, err := c.Version(ctx); err != nil {
112+
log.Debug().Err(err).Msg("Failed to get version")
113+
return false, false, maskAny(err)
114+
}
115+
if _, err := c.Databases(ctx); err != nil {
116+
log.Debug().Err(err).Msg("Failed to get databases")
117+
return false, false, maskAny(err)
118+
}
119+
return true, false, nil
120+
}
121+
102122
// checkProgressAgent checks the progress of the action in the case
103123
// of an agent.
104124
func (a *actionWaitForMemberUp) checkProgressAgent(ctx context.Context) (bool, bool, error) {

0 commit comments

Comments
 (0)