diff options
author | Pavlo Strokov <pstrokov@gitlab.com> | 2022-09-27 09:55:32 +0300 |
---|---|---|
committer | Pavlo Strokov <pstrokov@gitlab.com> | 2022-11-10 11:08:17 +0300 |
commit | 75bd425401df8c19537375367b138810cdf9dc3c (patch) | |
tree | 066f883daa4c711a038e40a0c82f1cbda099201d | |
parent | a402a7355d3224880ac2ccb0ee8239f9163feed5 (diff) |
objectpool: Standardize errors creation
Replace usage of status.Errorf() with helper.Err<StatusCode>f() to
make error creation more standard.
Return Internal code in case of an unexpected operation
failure instead of Undefined by using helper.ErrInternal().
Replace old %v with new %w for proper error wrapping.
Part of: https://gitlab.com/gitlab-org/gitaly/-/issues/4471
4 files changed, 7 insertions, 10 deletions
diff --git a/internal/gitaly/service/objectpool/create.go b/internal/gitaly/service/objectpool/create.go index 47b99deec..2326c91ad 100644 --- a/internal/gitaly/service/objectpool/create.go +++ b/internal/gitaly/service/objectpool/create.go @@ -5,8 +5,6 @@ import ( "gitlab.com/gitlab-org/gitaly/v15/internal/helper" "gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypb" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" ) // errMissingOriginRepository is returned when the request is missing the @@ -23,14 +21,13 @@ func (s *server) CreateObjectPool(ctx context.Context, in *gitalypb.CreateObject return nil, err } - origin := s.localrepo(in.GetOrigin()) - if pool.Exists() { - return nil, status.Errorf(codes.FailedPrecondition, "pool already exists at: %v", pool.GetRelativePath()) + return nil, helper.ErrFailedPreconditionf("pool already exists at: %v", pool.GetRelativePath()) } + origin := s.localrepo(in.GetOrigin()) if err := pool.Create(ctx, origin); err != nil { - return nil, err + return nil, helper.ErrInternal(err) } return &gitalypb.CreateObjectPoolResponse{}, nil diff --git a/internal/gitaly/service/objectpool/delete.go b/internal/gitaly/service/objectpool/delete.go index 1e1b9c474..3fdff53ed 100644 --- a/internal/gitaly/service/objectpool/delete.go +++ b/internal/gitaly/service/objectpool/delete.go @@ -3,6 +3,7 @@ package objectpool import ( "context" + "gitlab.com/gitlab-org/gitaly/v15/internal/helper" "gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypb" ) @@ -13,7 +14,7 @@ func (s *server) DeleteObjectPool(ctx context.Context, in *gitalypb.DeleteObject } if err := pool.Remove(ctx); err != nil { - return nil, err + return nil, helper.ErrInternal(err) } return &gitalypb.DeleteObjectPoolResponse{}, nil diff --git a/internal/gitaly/service/objectpool/fetch_into_object_pool.go b/internal/gitaly/service/objectpool/fetch_into_object_pool.go index a825d3fc3..8f6bc40fb 100644 --- a/internal/gitaly/service/objectpool/fetch_into_object_pool.go +++ b/internal/gitaly/service/objectpool/fetch_into_object_pool.go @@ -3,7 +3,6 @@ package objectpool import ( "context" "errors" - "fmt" "gitlab.com/gitlab-org/gitaly/v15/internal/git/objectpool" "gitlab.com/gitlab-org/gitaly/v15/internal/git/stats" @@ -18,7 +17,7 @@ func (s *server) FetchIntoObjectPool(ctx context.Context, req *gitalypb.FetchInt objectPool, err := objectpool.FromProto(s.locator, s.gitCmdFactory, s.catfileCache, s.txManager, s.housekeepingManager, req.GetObjectPool()) if err != nil { - return nil, helper.ErrInvalidArgument(fmt.Errorf("object pool invalid: %v", err)) + return nil, helper.ErrInvalidArgumentf("object pool invalid: %w", err) } origin := s.localrepo(req.GetOrigin()) diff --git a/internal/gitaly/service/objectpool/reduplicate.go b/internal/gitaly/service/objectpool/reduplicate.go index 16e1de255..a8c0bb6af 100644 --- a/internal/gitaly/service/objectpool/reduplicate.go +++ b/internal/gitaly/service/objectpool/reduplicate.go @@ -12,7 +12,7 @@ import ( func (s *server) ReduplicateRepository(ctx context.Context, req *gitalypb.ReduplicateRepositoryRequest) (*gitalypb.ReduplicateRepositoryResponse, error) { repository := req.GetRepository() if err := service.ValidateRepository(repository); err != nil { - return nil, helper.ErrInternalf("ReduplicateRepository: %w", err) + return nil, helper.ErrInvalidArgument(err) } cmd, err := s.gitCmdFactory.New(ctx, repository, git.SubCmd{ |