Browse Source

*: add etcdserver namespace for rpc error

Xiang Li 10 years ago
parent
commit
bc3fc4ea33
2 changed files with 13 additions and 13 deletions
  1. 2 2
      clientv3/client.go
  2. 11 11
      etcdserver/api/v3rpc/error.go

+ 2 - 2
clientv3/client.go

@@ -18,11 +18,11 @@ import (
 	"errors"
 	"errors"
 	"net"
 	"net"
 	"net/url"
 	"net/url"
+	"strings"
 	"sync"
 	"sync"
 	"time"
 	"time"
 
 
 	"github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc"
 	"github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc"
-	"github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc/codes"
 	"github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc/credentials"
 	"github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc/credentials"
 	pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
 	pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
 	"github.com/coreos/etcd/pkg/transport"
 	"github.com/coreos/etcd/pkg/transport"
@@ -200,5 +200,5 @@ func dialEndpointList(c *Client) (*grpc.ClientConn, error) {
 }
 }
 
 
 func isRPCError(err error) bool {
 func isRPCError(err error) bool {
-	return grpc.Code(err) != codes.Unknown
+	return strings.HasPrefix(grpc.ErrorDesc(err), "etcdserver: ")
 }
 }

+ 11 - 11
etcdserver/api/v3rpc/error.go

@@ -21,17 +21,17 @@ import (
 )
 )
 
 
 var (
 var (
-	ErrEmptyKey     = grpc.Errorf(codes.InvalidArgument, "key is not provided")
-	ErrTooManyOps   = grpc.Errorf(codes.InvalidArgument, "too many operations in txn request")
-	ErrDuplicateKey = grpc.Errorf(codes.InvalidArgument, "duplicate key given in txn request")
-	ErrCompacted    = grpc.Errorf(codes.OutOfRange, storage.ErrCompacted.Error())
-	ErrFutureRev    = grpc.Errorf(codes.OutOfRange, storage.ErrFutureRev.Error())
+	ErrEmptyKey     = grpc.Errorf(codes.InvalidArgument, "etcdserver: key is not provided")
+	ErrTooManyOps   = grpc.Errorf(codes.InvalidArgument, "etcdserver: too many operations in txn request")
+	ErrDuplicateKey = grpc.Errorf(codes.InvalidArgument, "etcdserver: duplicate key given in txn request")
+	ErrCompacted    = grpc.Errorf(codes.OutOfRange, "etcdserver: "+storage.ErrCompacted.Error())
+	ErrFutureRev    = grpc.Errorf(codes.OutOfRange, "etcdserver: "+storage.ErrFutureRev.Error())
 
 
-	ErrLeaseNotFound = grpc.Errorf(codes.NotFound, "requested lease not found")
-	ErrLeaseExist    = grpc.Errorf(codes.FailedPrecondition, "lease already exists")
+	ErrLeaseNotFound = grpc.Errorf(codes.NotFound, "etcdserver: requested lease not found")
+	ErrLeaseExist    = grpc.Errorf(codes.FailedPrecondition, "etcdserver: lease already exists")
 
 
-	ErrMemberExist    = grpc.Errorf(codes.FailedPrecondition, "member ID already exist")
-	ErrPeerURLExist   = grpc.Errorf(codes.FailedPrecondition, "Peer URLs already exists")
-	ErrMemberBadURLs  = grpc.Errorf(codes.InvalidArgument, "given member URLs are invalid")
-	ErrMemberNotFound = grpc.Errorf(codes.NotFound, "member not found")
+	ErrMemberExist    = grpc.Errorf(codes.FailedPrecondition, "etcdserver: member ID already exist")
+	ErrPeerURLExist   = grpc.Errorf(codes.FailedPrecondition, "etcdserver: Peer URLs already exists")
+	ErrMemberBadURLs  = grpc.Errorf(codes.InvalidArgument, "etcdserver: given member URLs are invalid")
+	ErrMemberNotFound = grpc.Errorf(codes.NotFound, "etcdserver: member not found")
 )
 )