From 707ed2b3026bc1cdaa874230ce706cd09b4f91d5 Mon Sep 17 00:00:00 2001 From: poornas Date: Thu, 16 May 2019 12:00:12 -0700 Subject: [PATCH] gcs: use MD5Sum as ETag if present in object attrs (#7643) Fixes: 7642 --- cmd/gateway/gcs/gateway-gcs.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cmd/gateway/gcs/gateway-gcs.go b/cmd/gateway/gcs/gateway-gcs.go index de130f380..e7480567e 100644 --- a/cmd/gateway/gcs/gateway-gcs.go +++ b/cmd/gateway/gcs/gateway-gcs.go @@ -19,6 +19,7 @@ package gcs import ( "context" "encoding/base64" + "encoding/hex" "encoding/json" "errors" "fmt" @@ -830,12 +831,17 @@ func fromGCSAttrsToObjectInfo(attrs *storage.ObjectAttrs) minio.ObjectInfo { if attrs.ContentLanguage != "" { metadata["Content-Language"] = attrs.ContentLanguage } + + etag := hex.EncodeToString(attrs.MD5) + if etag == "" { + etag = minio.ToS3ETag(fmt.Sprintf("%d", attrs.CRC32C)) + } return minio.ObjectInfo{ Name: attrs.Name, Bucket: attrs.Bucket, ModTime: attrs.Updated, Size: attrs.Size, - ETag: minio.ToS3ETag(fmt.Sprintf("%d", attrs.CRC32C)), + ETag: etag, UserDefined: metadata, ContentType: attrs.ContentType, ContentEncoding: attrs.ContentEncoding,