From 3060cc7a42dc45d4d179a90818443d875186b666 Mon Sep 17 00:00:00 2001 From: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com> Date: Fri, 1 Jul 2022 21:36:23 +0000 Subject: [PATCH] Reporting ETag failures correctly in delete method Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com> --- state/azure/blobstorage/blobstorage.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/state/azure/blobstorage/blobstorage.go b/state/azure/blobstorage/blobstorage.go index fe35fc690..1a6ee1d6e 100644 --- a/state/azure/blobstorage/blobstorage.go +++ b/state/azure/blobstorage/blobstorage.go @@ -242,10 +242,8 @@ func (r *StateStore) writeFile(ctx context.Context, req *state.SetRequest) error r.logger.Debugf("write file %s, err %s", req.Key, err) // Check if the error is due to ETag conflict - if isETagConflictError(err) { - if req.ETag != nil { - return state.NewETagError(state.ETagMismatch, err) - } + if req.ETag != nil && isETagConflictError(err) { + return state.NewETagError(state.ETagMismatch, err) } return err @@ -307,7 +305,7 @@ func (r *StateStore) deleteFile(ctx context.Context, req *state.DeleteRequest) e if err != nil { r.logger.Debugf("delete file %s, err %s", req.Key, err) - if req.ETag != nil { + if req.ETag != nil && isETagConflictError(err) { return state.NewETagError(state.ETagMismatch, err) } else if isNotFoundError(err) { // deleting an item that doesn't exist without specifying an ETAG is a noop