Skip to content

Commit 5784ba3

Browse files
committed
feat(binding): disable deepcopy for list action
Signed-off-by: chang.qiangqiang <[email protected]>
1 parent 2f80476 commit 5784ba3

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

pkg/controllers/binding/binding_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"k8s.io/client-go/dynamic"
3030
"k8s.io/client-go/tools/record"
3131
"k8s.io/klog/v2"
32+
"k8s.io/utils/ptr"
3233
controllerruntime "sigs.k8s.io/controller-runtime"
3334
"sigs.k8s.io/controller-runtime/pkg/client"
3435
"sigs.k8s.io/controller-runtime/pkg/controller"
@@ -190,7 +191,7 @@ func (c *ResourceBindingController) newOverridePolicyFunc() handler.MapFunc {
190191
}
191192

192193
bindingList := &workv1alpha2.ResourceBindingList{}
193-
if err := c.Client.List(ctx, bindingList); err != nil {
194+
if err := c.Client.List(ctx, bindingList, &client.ListOptions{UnsafeDisableDeepCopy: ptr.To(true)}); err != nil {
194195
klog.Errorf("Failed to list resourceBindings, error: %v", err)
195196
return nil
196197
}

pkg/dependenciesdistributor/dependencies_distributor.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"k8s.io/client-go/tools/record"
3636
"k8s.io/client-go/util/retry"
3737
"k8s.io/klog/v2"
38+
"k8s.io/utils/ptr"
3839
controllerruntime "sigs.k8s.io/controller-runtime"
3940
"sigs.k8s.io/controller-runtime/pkg/client"
4041
"sigs.k8s.io/controller-runtime/pkg/controller"
@@ -170,8 +171,10 @@ func (d *DependenciesDistributor) reconcileResourceTemplate(key util.QueueKey) e
170171
klog.V(4).Infof("DependenciesDistributor start to reconcile object: %s", resourceTemplateKey)
171172
bindingList := &workv1alpha2.ResourceBindingList{}
172173
err := d.Client.List(context.TODO(), bindingList, &client.ListOptions{
173-
Namespace: resourceTemplateKey.Namespace,
174-
LabelSelector: labels.Everything()})
174+
Namespace: resourceTemplateKey.Namespace,
175+
LabelSelector: labels.Everything(),
176+
UnsafeDisableDeepCopy: ptr.To(true),
177+
})
175178
if err != nil {
176179
return err
177180
}

pkg/util/overridemanager/overridemanager.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
3030
"k8s.io/client-go/tools/record"
3131
"k8s.io/klog/v2"
32+
"k8s.io/utils/ptr"
3233
"sigs.k8s.io/controller-runtime/pkg/client"
3334
"sigs.k8s.io/yaml"
3435

@@ -126,7 +127,7 @@ func (o *overrideManagerImpl) ApplyOverridePolicies(rawObj *unstructured.Unstruc
126127
func (o *overrideManagerImpl) applyClusterOverrides(rawObj *unstructured.Unstructured, cluster *clusterv1alpha1.Cluster) (*AppliedOverrides, error) {
127128
// get all cluster-scoped override policies
128129
policyList := &policyv1alpha1.ClusterOverridePolicyList{}
129-
if err := o.Client.List(context.TODO(), policyList, &client.ListOptions{}); err != nil {
130+
if err := o.Client.List(context.TODO(), policyList, &client.ListOptions{UnsafeDisableDeepCopy: ptr.To(true)}); err != nil {
130131
klog.Errorf("Failed to list cluster override policies, error: %v", err)
131132
return nil, err
132133
}
@@ -164,7 +165,7 @@ func (o *overrideManagerImpl) applyClusterOverrides(rawObj *unstructured.Unstruc
164165
func (o *overrideManagerImpl) applyNamespacedOverrides(rawObj *unstructured.Unstructured, cluster *clusterv1alpha1.Cluster) (*AppliedOverrides, error) {
165166
// get all namespace-scoped override policies
166167
policyList := &policyv1alpha1.OverridePolicyList{}
167-
if err := o.Client.List(context.TODO(), policyList, &client.ListOptions{Namespace: rawObj.GetNamespace()}); err != nil {
168+
if err := o.Client.List(context.TODO(), policyList, &client.ListOptions{Namespace: rawObj.GetNamespace(), UnsafeDisableDeepCopy: ptr.To(true)}); err != nil {
168169
klog.Errorf("Failed to list override policies from namespace: %s, error: %v", rawObj.GetNamespace(), err)
169170
return nil, err
170171
}

0 commit comments

Comments
 (0)