From 9ff8f7e4c2178fb55dd6cb45f25c870beed409e1 Mon Sep 17 00:00:00 2001 From: Steven Davidovitz <13248+steved@users.noreply.github.com> Date: Thu, 31 Jul 2025 09:22:58 -0700 Subject: [PATCH] fix(gcs): failed locks due to upstream library error check changes (#31274) After https://github.com/googleapis/google-cloud-go/pull/11519, errors must be checked with `errors.Is`. Addresses #31125. Co-authored-by: Mike Palmiotto --- changelog/31274.txt | 3 +++ physical/gcs/gcs.go | 4 ++-- physical/gcs/gcs_ha.go | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 changelog/31274.txt diff --git a/changelog/31274.txt b/changelog/31274.txt new file mode 100644 index 0000000000..885f6542ce --- /dev/null +++ b/changelog/31274.txt @@ -0,0 +1,3 @@ +```release-note:bug +gcs: fix failed locking due to updated library error checks +``` diff --git a/physical/gcs/gcs.go b/physical/gcs/gcs.go index 8741aa373d..8832bbb813 100644 --- a/physical/gcs/gcs.go +++ b/physical/gcs/gcs.go @@ -221,7 +221,7 @@ func (b *Backend) Get(ctx context.Context, key string) (retEntry *physical.Entry // Read r, err := b.client.Bucket(b.bucket).Object(key).NewReader(ctx) - if err == storage.ErrObjectNotExist { + if errors.Is(err, storage.ErrObjectNotExist) { return nil, nil } if err != nil { @@ -258,7 +258,7 @@ func (b *Backend) Delete(ctx context.Context, key string) error { // Delete err := b.client.Bucket(b.bucket).Object(key).Delete(ctx) - if err != nil && err != storage.ErrObjectNotExist { + if err != nil && !errors.Is(err, storage.ErrObjectNotExist) { return fmt.Errorf("failed to delete key %q: %w", key, err) } return nil diff --git a/physical/gcs/gcs_ha.go b/physical/gcs/gcs_ha.go index 279b79ab1f..4fc91e5884 100644 --- a/physical/gcs/gcs_ha.go +++ b/physical/gcs/gcs_ha.go @@ -398,7 +398,7 @@ func (l *Lock) writeLock() (bool, error) { func (l *Lock) get(ctx context.Context) (*LockRecord, error) { // Read attrs, err := l.backend.haClient.Bucket(l.backend.bucket).Object(l.key).Attrs(ctx) - if err == storage.ErrObjectNotExist { + if errors.Is(err, storage.ErrObjectNotExist) { return nil, nil } if err != nil {