mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 10:51:29 +00:00
Merge pull request #106616 from mattcary/pvc-race
Clean up deep copy needed for UpdateStatefulSet
This commit is contained in:
commit
a5622f3f6e
@ -472,8 +472,7 @@ func (ssc *StatefulSetController) syncStatefulSet(ctx context.Context, set *apps
|
|||||||
klog.V(4).Infof("Syncing StatefulSet %v/%v with %d pods", set.Namespace, set.Name, len(pods))
|
klog.V(4).Infof("Syncing StatefulSet %v/%v with %d pods", set.Namespace, set.Name, len(pods))
|
||||||
var status *apps.StatefulSetStatus
|
var status *apps.StatefulSetStatus
|
||||||
var err error
|
var err error
|
||||||
// TODO: investigate where we mutate the set during the update as it is not obvious.
|
status, err = ssc.control.UpdateStatefulSet(ctx, set, pods)
|
||||||
status, err = ssc.control.UpdateStatefulSet(ctx, set.DeepCopy(), pods)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -75,6 +75,8 @@ type defaultStatefulSetControl struct {
|
|||||||
// in no particular order. Clients using the burst strategy should be careful to ensure they
|
// in no particular order. Clients using the burst strategy should be careful to ensure they
|
||||||
// understand the consistency implications of having unpredictable numbers of pods available.
|
// understand the consistency implications of having unpredictable numbers of pods available.
|
||||||
func (ssc *defaultStatefulSetControl) UpdateStatefulSet(ctx context.Context, set *apps.StatefulSet, pods []*v1.Pod) (*apps.StatefulSetStatus, error) {
|
func (ssc *defaultStatefulSetControl) UpdateStatefulSet(ctx context.Context, set *apps.StatefulSet, pods []*v1.Pod) (*apps.StatefulSetStatus, error) {
|
||||||
|
set = set.DeepCopy() // set is modified when a new revision is created in performUpdate. Make a copy now to avoid mutation errors.
|
||||||
|
|
||||||
// list all revisions and sort them
|
// list all revisions and sort them
|
||||||
revisions, err := ssc.ListRevisions(set)
|
revisions, err := ssc.ListRevisions(set)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -2326,7 +2326,6 @@ func scaleUpStatefulSetControl(set *apps.StatefulSet,
|
|||||||
if err := invariants(set, om); err != nil {
|
if err := invariants(set, om); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
//fmt.Printf("Ravig pod conditions %v %v", set.Status.ReadyReplicas, *set.Spec.Replicas)
|
|
||||||
}
|
}
|
||||||
return invariants(set, om)
|
return invariants(set, om)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user