From 0b9a60da5b5d3919c0eb40c842daf587be5d3b16 Mon Sep 17 00:00:00 2001 From: BarryTong65 Date: Wed, 12 Jun 2024 16:58:35 +0800 Subject: [PATCH 1/3] fix: not found error code --- modular/gater/errors.go | 4 ++++ modular/gater/object_handler.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modular/gater/errors.go b/modular/gater/errors.go index dfd83615b..0fa26de5d 100644 --- a/modular/gater/errors.go +++ b/modular/gater/errors.go @@ -78,3 +78,7 @@ func ErrNotifySwapOutWithDetail(detail string) *gfsperrors.GfSpError { func ErrConsensusWithDetail(detail string) *gfsperrors.GfSpError { return gfsperrors.Register(module.GateModularName, http.StatusInternalServerError, 55001, detail) } + +func ErrConsensusNotFoundWithDetail(detail string) *gfsperrors.GfSpError { + return gfsperrors.Register(module.GateModularName, http.StatusNotFound, 55001, detail) +} diff --git a/modular/gater/object_handler.go b/modular/gater/object_handler.go index 4e31e1c4d..8eae22fcd 100644 --- a/modular/gater/object_handler.go +++ b/modular/gater/object_handler.go @@ -583,7 +583,7 @@ func (g *GateModular) downloadObject(w http.ResponseWriter, reqCtx *RequestConte metrics.PerfGetObjectTimeHistogram.WithLabelValues("get_object_get_object_info_time").Observe(time.Since(getObjectTime).Seconds()) if err != nil { log.CtxErrorw(reqCtx.Context(), "failed to get object info from consensus", "error", err) - err = ErrConsensusWithDetail("failed to get object info from consensus, object_name: " + reqCtx.objectName + ", bucket_name: " + reqCtx.bucketName + ", error:" + err.Error()) + err = ErrConsensusNotFoundWithDetail("failed to get object info from consensus, object_name: " + reqCtx.objectName + ", bucket_name: " + reqCtx.bucketName + ", error:" + err.Error()) return err } From bc6246837cde12674a34ae05f9dc812c27efcc70 Mon Sep 17 00:00:00 2001 From: BarryTong65 Date: Wed, 12 Jun 2024 17:25:27 +0800 Subject: [PATCH 2/3] fix: not found error code --- modular/gater/object_handler.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modular/gater/object_handler.go b/modular/gater/object_handler.go index 8eae22fcd..233f2892c 100644 --- a/modular/gater/object_handler.go +++ b/modular/gater/object_handler.go @@ -583,7 +583,11 @@ func (g *GateModular) downloadObject(w http.ResponseWriter, reqCtx *RequestConte metrics.PerfGetObjectTimeHistogram.WithLabelValues("get_object_get_object_info_time").Observe(time.Since(getObjectTime).Seconds()) if err != nil { log.CtxErrorw(reqCtx.Context(), "failed to get object info from consensus", "error", err) - err = ErrConsensusNotFoundWithDetail("failed to get object info from consensus, object_name: " + reqCtx.objectName + ", bucket_name: " + reqCtx.bucketName + ", error:" + err.Error()) + if strings.Contains(err.Error(), "No such object") { + err = ErrConsensusNotFoundWithDetail("failed to get object info from consensus, the object may be deleted. object_name: " + reqCtx.objectName + ", bucket_name: " + reqCtx.bucketName + ", error:" + err.Error()) + } else { + err = ErrConsensusWithDetail("failed to get object info from consensus, object_name: " + reqCtx.objectName + ", bucket_name: " + reqCtx.bucketName + ", error:" + err.Error()) + } return err } From 215190a75994ad4aa329f626a178393cf4f58eeb Mon Sep 17 00:00:00 2001 From: BarryTong65 Date: Thu, 13 Jun 2024 10:01:33 +0800 Subject: [PATCH 3/3] fix: not found error code --- modular/gater/errors.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular/gater/errors.go b/modular/gater/errors.go index 0fa26de5d..5a1978a4d 100644 --- a/modular/gater/errors.go +++ b/modular/gater/errors.go @@ -80,5 +80,5 @@ func ErrConsensusWithDetail(detail string) *gfsperrors.GfSpError { } func ErrConsensusNotFoundWithDetail(detail string) *gfsperrors.GfSpError { - return gfsperrors.Register(module.GateModularName, http.StatusNotFound, 55001, detail) + return gfsperrors.Register(module.GateModularName, http.StatusNotFound, 55002, detail) }