From ccfecb1ebddb096d5daa9bdb679b11b54560af1c Mon Sep 17 00:00:00 2001 From: Yu-Ju Hong Date: Tue, 30 May 2017 15:58:40 -0700 Subject: [PATCH] kubelet status manager: short-circut the evaluation if possible This avoids redundant checks in the `PodResourcesAreReclaimed`, which also logs misleading "Pod is terminated" messages on every check. --- pkg/kubelet/status/status_manager.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/kubelet/status/status_manager.go b/pkg/kubelet/status/status_manager.go index 03cdbf35245..a2047a8b544 100644 --- a/pkg/kubelet/status/status_manager.go +++ b/pkg/kubelet/status/status_manager.go @@ -483,7 +483,10 @@ func (m *manager) needsUpdate(uid types.UID, status versionedPodStatus) bool { } func (m *manager) canBeDeleted(pod *v1.Pod, status v1.PodStatus) bool { - return !kubepod.IsMirrorPod(pod) && m.podDeletionSafety.PodResourcesAreReclaimed(pod, status) && pod.DeletionTimestamp != nil + if pod.DeletionTimestamp == nil || kubepod.IsMirrorPod(pod) { + return false + } + return m.podDeletionSafety.PodResourcesAreReclaimed(pod, status) } // needsReconcile compares the given status with the status in the pod manager (which