Skip to content

Commit 83ed549

Browse files
committed
feedback cleanup
1 parent e6797ba commit 83ed549

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

pkg/ext-proc/backend/datastore.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -130,19 +130,16 @@ func (ds *K8sDatastore) flushPodsAndRefetch(ctx context.Context, ctrlClient clie
130130
}); err != nil {
131131
klog.Error(err, "error listing clients")
132132
}
133-
podMap := sync.Map{}
133+
ds.pods.Clear()
134134

135135
for _, k8sPod := range podList.Items {
136136
pod := Pod{
137137
Name: k8sPod.Name,
138138
Address: k8sPod.Status.PodIP + ":" + strconv.Itoa(int(newServerPool.Spec.TargetPortNumber)),
139139
}
140-
podMap.Store(pod, true)
140+
ds.pods.Store(pod, true)
141141
}
142142

143-
// Clear is thread-safe, so if there are any in-flight accesses this should prevent odd data behavior. Then we replace after.
144-
ds.pods.Clear()
145-
ds.pods = &podMap
146143
}
147144

148145
func selectorFromInferencePoolSelector(selector map[v1alpha1.LabelKey]v1alpha1.LabelValue) labels.Selector {

pkg/ext-proc/backend/inferencepool_reconciler.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,11 @@ func (c *InferencePoolReconciler) Reconcile(ctx context.Context, req ctrl.Reques
3636
return ctrl.Result{}, err
3737
}
3838
if c.Datastore.inferencePool == nil || !reflect.DeepEqual(serverPool.Spec.Selector, c.Datastore.inferencePool.Spec.Selector) {
39+
c.updateDatastore(serverPool)
3940
c.Datastore.flushPodsAndRefetch(ctx, c.Client, serverPool)
41+
} else {
42+
c.updateDatastore(serverPool)
4043
}
41-
c.updateDatastore(serverPool)
4244

4345
return ctrl.Result{}, nil
4446
}

pkg/ext-proc/backend/pod_reconciler.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package backend
33
import (
44
"context"
55
"strconv"
6-
"time"
76

87
corev1 "k8s.io/api/core/v1"
98
"k8s.io/apimachinery/pkg/runtime"
@@ -26,7 +25,10 @@ func (c *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.R
2625
inferencePool, err := c.Datastore.getInferencePool()
2726
if err != nil {
2827
klog.V(logutil.DEFAULT).Infof("Skipping reconciling Pod because the InferencePool is not available yet: %v", err)
29-
return ctrl.Result{Requeue: true, RequeueAfter: time.Second}, nil
28+
// When the inferencePool is initialized it lists the appropriate pods and populates the datastore, so no need to requeue.
29+
return ctrl.Result{}, nil
30+
} else if inferencePool.Namespace != req.Namespace {
31+
return ctrl.Result{}, nil
3032
}
3133

3234
klog.V(logutil.VERBOSE).Info("reconciling Pod", req.NamespacedName)
@@ -53,7 +55,7 @@ func (c *PodReconciler) updateDatastore(k8sPod *corev1.Pod, inferencePool *v1alp
5355
Name: k8sPod.Name,
5456
Address: k8sPod.Status.PodIP + ":" + strconv.Itoa(int(inferencePool.Spec.TargetPortNumber)),
5557
}
56-
if !c.Datastore.LabelsMatch(k8sPod.ObjectMeta.Labels) || !podIsReady(k8sPod) {
58+
if !k8sPod.DeletionTimestamp.IsZero() || !c.Datastore.LabelsMatch(k8sPod.ObjectMeta.Labels) || !podIsReady(k8sPod) {
5759
c.Datastore.pods.Delete(pod)
5860
} else {
5961
c.Datastore.pods.Store(pod, true)

0 commit comments

Comments
 (0)