diff --git a/docs/proposals/20240309-cloneset-support-progressDeadlineSeconds.md b/docs/proposals/20240309-cloneset-support-progressDeadlineSeconds.md index c13fbb51b1..500df98417 100644 --- a/docs/proposals/20240309-cloneset-support-progressDeadlineSeconds.md +++ b/docs/proposals/20240309-cloneset-support-progressDeadlineSeconds.md @@ -66,7 +66,7 @@ spec: ### 2. The behavior of progressDeadlineSeconds However, the behavior of `progressDeadlineSeconds` in CloneSet might differ from its behavior in Deployment due to the support of partition in CloneSet. If a CloneSet is paused due to partition, it's debatable whether the paused time should be included in the progress deadline. Here are two possible interpretations of `progressDeadlineSeconds` in the context of CloneSet: -1. `progressDeadlineSeconds` could be redefined as the time taken for the CloneSet to reach completion or the "paused" state due to partition. In this case, the time during which the CloneSet is paused would be included in the progress deadline. +1. `progressDeadlineSeconds` could be redefined as the time taken for the CloneSet to reach completion or the "paused" state due to partition. In this case, the time during which the CloneSet is paused would NOT be included in the progress deadline. 2. Secondly, `progressDeadlineSeconds` could only be supported if the partition is not set. This means that if a partition is set, the `progressDeadlineSeconds` field would not be applicable or has no effect. After the discussion of the community, we choose the first interpretation.So we should re-set the progressDeadlineSeconds when the CloneSet reach completion OR "the paused state". @@ -122,7 +122,7 @@ When the CloneSet reaches the "paused" state, we should reset the timer to avoid func (c *CloneSetController) syncCloneSetStatus(cloneSet *appsv1alpha1.CloneSet, newStatus *appsv1alpha1.CloneSetStatus) error { ... // reset the starttime when the CloneSet reaches the "paused" state or complete state - if cloneSet.Status.UpdatedReadyReplicas == cloneSet.Status.Replicas { + if cloneSet.Status.UpdatedReadyReplicas == cloneSet.Status.Replicas || replicas - updatedReplicas = partition { starttime = time.Now() }