From a862fd9f0f522a23d3f1e7a47760ea0f2bec5180 Mon Sep 17 00:00:00 2001 From: fanmin shi Date: Thu, 6 Oct 2016 14:29:31 -0700 Subject: [PATCH] Lease: Add lease errors to togRPCError() This allows lease's function to convert lease error to appropriate GRPC errors --- etcdserver/api/v3rpc/lease.go | 13 +++++-------- etcdserver/api/v3rpc/util.go | 5 +++++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/etcdserver/api/v3rpc/lease.go b/etcdserver/api/v3rpc/lease.go index 0ebffadb4..ae1778788 100644 --- a/etcdserver/api/v3rpc/lease.go +++ b/etcdserver/api/v3rpc/lease.go @@ -18,7 +18,6 @@ import ( "io" "github.com/coreos/etcd/etcdserver" - "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes" pb "github.com/coreos/etcd/etcdserver/etcdserverpb" "github.com/coreos/etcd/lease" "golang.org/x/net/context" @@ -35,20 +34,18 @@ func NewLeaseServer(s *etcdserver.EtcdServer) pb.LeaseServer { func (ls *LeaseServer) LeaseGrant(ctx context.Context, cr *pb.LeaseGrantRequest) (*pb.LeaseGrantResponse, error) { resp, err := ls.le.LeaseGrant(ctx, cr) - if err == lease.ErrLeaseExists { - return nil, rpctypes.ErrGRPCLeaseExist - } + if err != nil { - return nil, err + return nil, togRPCError(err) } ls.hdr.fill(resp.Header) - return resp, err + return resp, nil } func (ls *LeaseServer) LeaseRevoke(ctx context.Context, rr *pb.LeaseRevokeRequest) (*pb.LeaseRevokeResponse, error) { resp, err := ls.le.LeaseRevoke(ctx, rr) if err != nil { - return nil, rpctypes.ErrGRPCLeaseNotFound + return nil, togRPCError(err) } ls.hdr.fill(resp.Header) return resp, nil @@ -57,7 +54,7 @@ func (ls *LeaseServer) LeaseRevoke(ctx context.Context, rr *pb.LeaseRevokeReques func (ls *LeaseServer) LeaseTimeToLive(ctx context.Context, rr *pb.LeaseTimeToLiveRequest) (*pb.LeaseTimeToLiveResponse, error) { resp, err := ls.le.LeaseTimeToLive(ctx, rr) if err != nil { - return nil, rpctypes.ErrGRPCLeaseNotFound + return nil, togRPCError(err) } ls.hdr.fill(resp.Header) return resp, nil diff --git a/etcdserver/api/v3rpc/util.go b/etcdserver/api/v3rpc/util.go index 5210bdcf6..fd9730eb1 100644 --- a/etcdserver/api/v3rpc/util.go +++ b/etcdserver/api/v3rpc/util.go @@ -60,6 +60,11 @@ func togRPCError(err error) error { case etcdserver.ErrUnhealthy: return rpctypes.ErrGRPCUnhealthy + case lease.ErrLeaseNotFound: + return rpctypes.ErrGRPCLeaseNotFound + case lease.ErrLeaseExists: + return rpctypes.ErrGRPCLeaseExist + case auth.ErrRootUserNotExist: return rpctypes.ErrGRPCRootUserNotExist case auth.ErrRootRoleNotExist: