@@ -592,11 +592,12 @@ func (t versionedTracker) updateObject(gvr schema.GroupVersionResource, obj runt
592592}
593593
594594func (c * fakeClient ) Get (ctx context.Context , key client.ObjectKey , obj client.Object , opts ... client.GetOption ) error {
595- c .schemeLock .RLock ()
596- defer c .schemeLock .RUnlock ()
597595 if err := c .addToSchemeIfUnknownAndUnstructured (obj ); err != nil {
598596 return err
599597 }
598+
599+ c .schemeLock .RLock ()
600+ defer c .schemeLock .RUnlock ()
600601 gvr , err := getGVRFromObject (obj , c .scheme )
601602 if err != nil {
602603 return err
@@ -634,6 +635,10 @@ func (c *fakeClient) Watch(ctx context.Context, list client.ObjectList, opts ...
634635 if err := c .addToSchemeIfUnknownAndUnstructured (list ); err != nil {
635636 return nil , err
636637 }
638+
639+ c .schemeLock .RLock ()
640+ defer c .schemeLock .RUnlock ()
641+
637642 gvk , err := apiutil .GVKForObject (list , c .scheme )
638643 if err != nil {
639644 return nil , err
@@ -649,11 +654,12 @@ func (c *fakeClient) Watch(ctx context.Context, list client.ObjectList, opts ...
649654}
650655
651656func (c * fakeClient ) List (ctx context.Context , obj client.ObjectList , opts ... client.ListOption ) error {
652- c .schemeLock .RLock ()
653- defer c .schemeLock .RUnlock ()
654657 if err := c .addToSchemeIfUnknownAndUnstructured (obj ); err != nil {
655658 return err
656659 }
660+
661+ c .schemeLock .RLock ()
662+ defer c .schemeLock .RUnlock ()
657663 gvk , err := apiutil .GVKForObject (obj , c .scheme )
658664 if err != nil {
659665 return err
@@ -821,13 +827,13 @@ func (c *fakeClient) IsObjectNamespaced(obj runtime.Object) (bool, error) {
821827}
822828
823829func (c * fakeClient ) Create (ctx context.Context , obj client.Object , opts ... client.CreateOption ) error {
824- c .schemeLock .RLock ()
825- defer c .schemeLock .RUnlock ()
826-
827830 if err := c .addToSchemeIfUnknownAndUnstructured (obj ); err != nil {
828831 return err
829832 }
830833
834+ c .schemeLock .RLock ()
835+ defer c .schemeLock .RUnlock ()
836+
831837 createOptions := & client.CreateOptions {}
832838 createOptions .ApplyOptions (opts )
833839
@@ -864,12 +870,13 @@ func (c *fakeClient) Create(ctx context.Context, obj client.Object, opts ...clie
864870}
865871
866872func (c * fakeClient ) Delete (ctx context.Context , obj client.Object , opts ... client.DeleteOption ) error {
867- c .schemeLock .RLock ()
868- defer c .schemeLock .RUnlock ()
869-
870873 if err := c .addToSchemeIfUnknownAndUnstructured (obj ); err != nil {
871874 return err
872875 }
876+
877+ c .schemeLock .RLock ()
878+ defer c .schemeLock .RUnlock ()
879+
873880 gvr , err := getGVRFromObject (obj , c .scheme )
874881 if err != nil {
875882 return err
@@ -915,12 +922,13 @@ func (c *fakeClient) Delete(ctx context.Context, obj client.Object, opts ...clie
915922}
916923
917924func (c * fakeClient ) DeleteAllOf (ctx context.Context , obj client.Object , opts ... client.DeleteAllOfOption ) error {
918- c .schemeLock .RLock ()
919- defer c .schemeLock .RUnlock ()
920-
921925 if err := c .addToSchemeIfUnknownAndUnstructured (obj ); err != nil {
922926 return err
923927 }
928+
929+ c .schemeLock .RLock ()
930+ defer c .schemeLock .RUnlock ()
931+
924932 gvk , err := apiutil .GVKForObject (obj , c .scheme )
925933 if err != nil {
926934 return err
@@ -970,12 +978,13 @@ func (c *fakeClient) Update(ctx context.Context, obj client.Object, opts ...clie
970978}
971979
972980func (c * fakeClient ) update (obj client.Object , isStatus bool , opts ... client.UpdateOption ) error {
973- c .schemeLock .RLock ()
974- defer c .schemeLock .RUnlock ()
975-
976981 if err := c .addToSchemeIfUnknownAndUnstructured (obj ); err != nil {
977982 return err
978983 }
984+
985+ c .schemeLock .RLock ()
986+ defer c .schemeLock .RUnlock ()
987+
979988 updateOptions := & client.UpdateOptions {}
980989 updateOptions .ApplyOptions (opts )
981990
@@ -1004,13 +1013,13 @@ func (c *fakeClient) Patch(ctx context.Context, obj client.Object, patch client.
10041013}
10051014
10061015func (c * fakeClient ) patch (obj client.Object , patch client.Patch , opts ... client.PatchOption ) error {
1007- c .schemeLock .RLock ()
1008- defer c .schemeLock .RUnlock ()
1009-
10101016 if err := c .addToSchemeIfUnknownAndUnstructured (obj ); err != nil {
10111017 return err
10121018 }
10131019
1020+ c .schemeLock .RLock ()
1021+ defer c .schemeLock .RUnlock ()
1022+
10141023 patchOptions := & client.PatchOptions {}
10151024 patchOptions .ApplyOptions (opts )
10161025
0 commit comments