diff --git a/pkg/manager/member/pd_member_manager.go b/pkg/manager/member/pd_member_manager.go index ead59f4f54b..46550681797 100644 --- a/pkg/manager/member/pd_member_manager.go +++ b/pkg/manager/member/pd_member_manager.go @@ -311,12 +311,11 @@ func (pmm *pdMemberManager) syncTidbClusterStatus(tc *v1alpha1.TidbCluster, set } oldPDMember, exist := tc.Status.PD.Members[name] - if exist { + + status.LastTransitionTime = metav1.Now() + if exist && status.Health == oldPDMember.Health { status.LastTransitionTime = oldPDMember.LastTransitionTime } - if !exist || status.Health != oldPDMember.Health { - status.LastTransitionTime = metav1.Now() - } pdStatus[name] = status } diff --git a/pkg/manager/member/tidb_member_manager.go b/pkg/manager/member/tidb_member_manager.go index b40756c81ae..9a28d0451a0 100644 --- a/pkg/manager/member/tidb_member_manager.go +++ b/pkg/manager/member/tidb_member_manager.go @@ -387,12 +387,13 @@ func (tmm *tidbMemberManager) syncTidbClusterStatus(tc *v1alpha1.TidbCluster, se Health: health, } oldTidbMember, exist := tc.Status.TiDB.Members[name] + + newTidbMember.LastTransitionTime = metav1.Now() if exist { - newTidbMember.LastTransitionTime = oldTidbMember.LastTransitionTime newTidbMember.NodeName = oldTidbMember.NodeName - } - if !exist || oldTidbMember.Health != newTidbMember.Health { - newTidbMember.LastTransitionTime = metav1.Now() + if oldTidbMember.Health == newTidbMember.Health { + newTidbMember.LastTransitionTime = oldTidbMember.LastTransitionTime + } } pod, err := tmm.podLister.Pods(tc.GetNamespace()).Get(name) if err != nil && !apierrors.IsNotFound(err) { diff --git a/pkg/manager/member/tikv_member_manager.go b/pkg/manager/member/tikv_member_manager.go index 896e826aca6..114f1593596 100644 --- a/pkg/manager/member/tikv_member_manager.go +++ b/pkg/manager/member/tikv_member_manager.go @@ -466,12 +466,11 @@ func (tkmm *tikvMemberManager) syncTidbClusterStatus(tc *v1alpha1.TidbCluster, s } oldStore, exist := previousStores[status.ID] - if exist { + + status.LastTransitionTime = metav1.Now() + if exist && status.State == oldStore.State { status.LastTransitionTime = oldStore.LastTransitionTime } - if !exist || status.State != oldStore.State { - status.LastTransitionTime = metav1.Now() - } stores[status.ID] = *status }