From b9c8e359abd12a606fcceb0b2e32fbbaf2789245 Mon Sep 17 00:00:00 2001 From: Joshua Casey Date: Fri, 20 Jan 2023 07:17:40 -0600 Subject: [PATCH] Use sync/atomic instead of go.uber.org/atomic --- go.mod | 2 +- internal/leaderelection/leaderelection.go | 6 +++--- internal/leaderelection/leaderelection_test.go | 6 +++--- internal/supervisor/server/bootstrap.go | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 4638cc1fe..18a1cb1e6 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,6 @@ require ( github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.8.1 github.com/tdewolff/minify/v2 v2.12.4 - go.uber.org/atomic v1.10.0 go.uber.org/zap v1.24.0 golang.org/x/crypto v0.5.0 golang.org/x/net v0.5.0 @@ -139,6 +138,7 @@ require ( go.opentelemetry.io/otel/sdk v1.10.0 // indirect go.opentelemetry.io/otel/trace v1.10.0 // indirect go.opentelemetry.io/proto/otlp v0.19.0 // indirect + go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.8.0 // indirect golang.org/x/mod v0.7.0 // indirect golang.org/x/sys v0.4.0 // indirect diff --git a/internal/leaderelection/leaderelection.go b/internal/leaderelection/leaderelection.go index a3cca9661..82e349dac 100644 --- a/internal/leaderelection/leaderelection.go +++ b/internal/leaderelection/leaderelection.go @@ -1,4 +1,4 @@ -// Copyright 2021-2022 the Pinniped contributors. All Rights Reserved. +// Copyright 2021-2023 the Pinniped contributors. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package leaderelection @@ -6,9 +6,9 @@ package leaderelection import ( "context" "fmt" + "sync/atomic" "time" - "go.uber.org/atomic" appsv1 "k8s.io/api/apps/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" @@ -45,7 +45,7 @@ func New(podInfo *downward.PodInfo, deployment *appsv1.Deployment, opts ...kubec return nil, nil, fmt.Errorf("could not create internal client for leader election: %w", err) } - isLeader := &isLeaderTracker{tracker: atomic.NewBool(false)} + isLeader := &isLeaderTracker{tracker: &atomic.Bool{}} identity := podInfo.Name leaseName := deployment.Name diff --git a/internal/leaderelection/leaderelection_test.go b/internal/leaderelection/leaderelection_test.go index 8446614e2..088ff2b46 100644 --- a/internal/leaderelection/leaderelection_test.go +++ b/internal/leaderelection/leaderelection_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 the Pinniped contributors. All Rights Reserved. +// Copyright 2021-2023 the Pinniped contributors. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package leaderelection @@ -6,11 +6,11 @@ package leaderelection import ( "context" "errors" + "sync/atomic" "testing" "time" "github.com/stretchr/testify/require" - "go.uber.org/atomic" coordinationv1 "k8s.io/api/coordination/v1" "k8s.io/apimachinery/pkg/runtime" kubefake "k8s.io/client-go/kubernetes/fake" @@ -63,7 +63,7 @@ func Test_releaseLock_Update(t *testing.T) { t.Parallel() internalClient := kubefake.NewSimpleClientset() - isLeader := &isLeaderTracker{tracker: atomic.NewBool(false)} + isLeader := &isLeaderTracker{tracker: &atomic.Bool{}} leaderElectorCtx, cancel := context.WithCancel(context.Background()) diff --git a/internal/supervisor/server/bootstrap.go b/internal/supervisor/server/bootstrap.go index 826d86d18..9ffdf2b34 100644 --- a/internal/supervisor/server/bootstrap.go +++ b/internal/supervisor/server/bootstrap.go @@ -1,4 +1,4 @@ -// Copyright 2021 the Pinniped contributors. All Rights Reserved. +// Copyright 2021-2023 the Pinniped contributors. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package server @@ -9,9 +9,9 @@ import ( "fmt" "net" "net/http" + "sync/atomic" "time" - "go.uber.org/atomic" "k8s.io/apimachinery/pkg/util/sets" "go.pinniped.dev/internal/certauthority" @@ -23,8 +23,8 @@ type contextKey int const bootstrapKey contextKey = iota func withBootstrapConnCtx(ctx context.Context, _ net.Conn) context.Context { - isBootstrap := atomic.NewBool(false) // safe for concurrent access - return context.WithValue(ctx, bootstrapKey, isBootstrap) + isBootstrap := atomic.Bool{} // safe for concurrent access + return context.WithValue(ctx, bootstrapKey, &isBootstrap) } func setIsBootstrapConn(ctx context.Context) {