From 3f152fb53aa68433434682531db9f8408503f75a Mon Sep 17 00:00:00 2001 From: Ishank Arora Date: Tue, 26 Oct 2021 13:10:17 +0200 Subject: [PATCH] Skip fetching metadata where not required --- internal/grpc/interceptors/auth/scope.go | 2 +- internal/http/services/ocmd/shares.go | 2 +- pkg/share/manager/sql/conversions.go | 8 +++++--- pkg/storage/utils/eosfs/eosfs.go | 8 +++++--- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/internal/grpc/interceptors/auth/scope.go b/internal/grpc/interceptors/auth/scope.go index 113a67a3118..135914a366c 100644 --- a/internal/grpc/interceptors/auth/scope.go +++ b/internal/grpc/interceptors/auth/scope.go @@ -176,7 +176,7 @@ func checkIfNestedResource(ctx context.Context, ref *provider.Reference, parent // We mint a token as the owner of the public share and try to stat the reference // TODO(ishank011): We need to find a better alternative to this - userResp, err := client.GetUser(ctx, &userpb.GetUserRequest{UserId: statResponse.Info.Owner}) + userResp, err := client.GetUser(ctx, &userpb.GetUserRequest{UserId: statResponse.Info.Owner, SkipFetchingUserGroups: true}) if err != nil || userResp.Status.Code != rpc.Code_CODE_OK { return false, err } diff --git a/internal/http/services/ocmd/shares.go b/internal/http/services/ocmd/shares.go index 60ebfa9f6d0..140ab36f01a 100644 --- a/internal/http/services/ocmd/shares.go +++ b/internal/http/services/ocmd/shares.go @@ -105,7 +105,7 @@ func (h *sharesHandler) createShare(w http.ResponseWriter, r *http.Request) { } userRes, err := gatewayClient.GetUser(ctx, &userpb.GetUserRequest{ - UserId: &userpb.UserId{OpaqueId: shareWith}, + UserId: &userpb.UserId{OpaqueId: shareWith}, SkipFetchingUserGroups: true, }) if err != nil { WriteError(w, r, APIErrorServerError, "error searching recipient", err) diff --git a/pkg/share/manager/sql/conversions.go b/pkg/share/manager/sql/conversions.go index 7abf2813d7a..f3658b022c2 100644 --- a/pkg/share/manager/sql/conversions.go +++ b/pkg/share/manager/sql/conversions.go @@ -79,7 +79,8 @@ func (c *GatewayUserConverter) UserIDToUserName(ctx context.Context, userid *use return "", err } getUserResponse, err := gwConn.GetUser(ctx, &userprovider.GetUserRequest{ - UserId: userid, + UserId: userid, + SkipFetchingUserGroups: true, }) if err != nil { return "", err @@ -97,8 +98,9 @@ func (c *GatewayUserConverter) UserNameToUserID(ctx context.Context, username st return nil, err } getUserResponse, err := gwConn.GetUserByClaim(ctx, &userpb.GetUserByClaimRequest{ - Claim: "username", - Value: username, + Claim: "username", + Value: username, + SkipFetchingUserGroups: true, }) if err != nil { return nil, err diff --git a/pkg/storage/utils/eosfs/eosfs.go b/pkg/storage/utils/eosfs/eosfs.go index 362922dfb79..572a29647ae 100644 --- a/pkg/storage/utils/eosfs/eosfs.go +++ b/pkg/storage/utils/eosfs/eosfs.go @@ -1791,7 +1791,8 @@ func (fs *eosfs) getUIDGateway(ctx context.Context, u *userpb.UserId) (eosclient return eosclient.Authorization{}, errors.Wrap(err, "eosfs: error getting gateway grpc client") } getUserResp, err := client.GetUser(ctx, &userpb.GetUserRequest{ - UserId: u, + UserId: u, + SkipFetchingUserGroups: true, }) if err != nil { return eosclient.Authorization{}, errors.Wrap(err, "eosfs: error getting user") @@ -1820,8 +1821,9 @@ func (fs *eosfs) getUserIDGateway(ctx context.Context, uid string) (*userpb.User return nil, errors.Wrap(err, "eosfs: error getting gateway grpc client") } getUserResp, err := client.GetUserByClaim(ctx, &userpb.GetUserByClaimRequest{ - Claim: "uid", - Value: uid, + Claim: "uid", + Value: uid, + SkipFetchingUserGroups: true, }) if err != nil { return nil, errors.Wrap(err, "eosfs: error getting user")