do not take address of iterator if you use it later
This commit is contained in:
parent
b0f394ff53
commit
f69a1e0245
|
|
@ -373,21 +373,14 @@ func (c *Cluster) isSafeToRecreatePods(pods []v1.Pod) bool {
|
||||||
XXX operator cannot forbid replica re-init, so we might still fail if re-init is started
|
XXX operator cannot forbid replica re-init, so we might still fail if re-init is started
|
||||||
after this check succeeds but before a pod is re-created
|
after this check succeeds but before a pod is re-created
|
||||||
*/
|
*/
|
||||||
|
for i, pod := range pods {
|
||||||
for _, pod := range pods {
|
|
||||||
c.logger.Debugf("name=%s phase=%s ip=%s", pod.Name, pod.Status.Phase, pod.Status.PodIP)
|
c.logger.Debugf("name=%s phase=%s ip=%s", pod.Name, pod.Status.Phase, pod.Status.PodIP)
|
||||||
}
|
|
||||||
|
|
||||||
for _, pod := range pods {
|
|
||||||
|
|
||||||
var state string
|
var state string
|
||||||
|
|
||||||
err := retryutil.Retry(1*time.Second, 5*time.Second,
|
err := retryutil.Retry(1*time.Second, 5*time.Second,
|
||||||
func() (bool, error) {
|
func() (bool, error) {
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
|
state, err = c.patroni.GetPatroniMemberState(&pods[i])
|
||||||
state, err = c.patroni.GetPatroniMemberState(&pod)
|
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
|
|
@ -403,7 +396,6 @@ func (c *Cluster) isSafeToRecreatePods(pods []v1.Pod) bool {
|
||||||
c.logger.Warningf("cannot re-create replica %s: it is currently being initialized", pod.Name)
|
c.logger.Warningf("cannot re-create replica %s: it is currently being initialized", pod.Name)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
@ -420,11 +412,12 @@ func (c *Cluster) recreatePods(pods []v1.Pod) error {
|
||||||
masterPod, newMasterPod *v1.Pod
|
masterPod, newMasterPod *v1.Pod
|
||||||
)
|
)
|
||||||
replicas := make([]spec.NamespacedName, 0)
|
replicas := make([]spec.NamespacedName, 0)
|
||||||
for _, pod := range pods {
|
|
||||||
|
for i, pod := range pods {
|
||||||
role := PostgresRole(pod.Labels[c.OpConfig.PodRoleLabel])
|
role := PostgresRole(pod.Labels[c.OpConfig.PodRoleLabel])
|
||||||
|
|
||||||
if role == Master {
|
if role == Master {
|
||||||
masterPod = &pod
|
masterPod = &pods[i]
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue