diff --git a/clientv3/balancer.go b/clientv3/balancer.go index 2c8c2981d..19a298cbf 100644 --- a/clientv3/balancer.go +++ b/clientv3/balancer.go @@ -22,12 +22,13 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" ) // ErrNoAddrAvilable is returned by Get() when the balancer does not have // any active connection to endpoints at the time. // This error is returned only when opts.BlockingWait is true. -var ErrNoAddrAvilable = grpc.Errorf(codes.Unavailable, "there is no address available") +var ErrNoAddrAvilable = status.Error(codes.Unavailable, "there is no address available") type notifyMsg int diff --git a/clientv3/naming/grpc.go b/clientv3/naming/grpc.go index 327d9f644..3c0e8e664 100644 --- a/clientv3/naming/grpc.go +++ b/clientv3/naming/grpc.go @@ -21,9 +21,9 @@ import ( etcd "github.com/coreos/etcd/clientv3" - "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/naming" + "google.golang.org/grpc/status" ) var ErrWatcherClosed = fmt.Errorf("naming: watch closed") @@ -39,13 +39,13 @@ func (gr *GRPCResolver) Update(ctx context.Context, target string, nm naming.Upd case naming.Add: var v []byte if v, err = json.Marshal(nm); err != nil { - return grpc.Errorf(codes.InvalidArgument, err.Error()) + return status.Error(codes.InvalidArgument, err.Error()) } _, err = gr.Client.KV.Put(ctx, target+"/"+nm.Addr, string(v), opts...) case naming.Delete: _, err = gr.Client.Delete(ctx, target+"/"+nm.Addr, opts...) default: - return grpc.Errorf(codes.InvalidArgument, "naming: bad naming op") + return status.Error(codes.InvalidArgument, "naming: bad naming op") } return err } @@ -80,7 +80,7 @@ func (gw *gRPCWatcher) Next() ([]*naming.Update, error) { // process new events on target/* wr, ok := <-gw.wch if !ok { - gw.err = grpc.Errorf(codes.Unavailable, "%s", ErrWatcherClosed) + gw.err = status.Error(codes.Unavailable, ErrWatcherClosed.Error()) return nil, gw.err } if gw.err = wr.Err(); gw.err != nil { diff --git a/clientv3/watch.go b/clientv3/watch.go index 91e6db26a..7eb8b4d6c 100644 --- a/clientv3/watch.go +++ b/clientv3/watch.go @@ -27,6 +27,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" ) const ( @@ -91,7 +92,7 @@ func (wr *WatchResponse) Err() error { return v3rpc.ErrCompacted case wr.Canceled: if len(wr.cancelReason) != 0 { - return v3rpc.Error(grpc.Errorf(codes.FailedPrecondition, "%s", wr.cancelReason)) + return v3rpc.Error(status.Error(codes.FailedPrecondition, wr.cancelReason)) } return v3rpc.ErrFutureRev } diff --git a/etcdserver/api/v3rpc/util.go b/etcdserver/api/v3rpc/util.go index 9724b093b..29e59d1c6 100644 --- a/etcdserver/api/v3rpc/util.go +++ b/etcdserver/api/v3rpc/util.go @@ -21,8 +21,8 @@ import ( "github.com/coreos/etcd/etcdserver/membership" "github.com/coreos/etcd/lease" "github.com/coreos/etcd/mvcc" - "google.golang.org/grpc" "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" ) var toGRPCErrorMap = map[error]error{ @@ -70,7 +70,7 @@ var toGRPCErrorMap = map[error]error{ func togRPCError(err error) error { grpcErr, ok := toGRPCErrorMap[err] if !ok { - return grpc.Errorf(codes.Unknown, err.Error()) + return status.Error(codes.Unknown, err.Error()) } return grpcErr }