Browse Source

v3api, rpctypes: add ErrUnhealthy

Anthony Romano 9 years ago
parent
commit
1defeda792
2 changed files with 5 additions and 0 deletions
  1. 3 0
      etcdserver/api/v3rpc/rpctypes/error.go
  2. 2 0
      etcdserver/api/v3rpc/util.go

+ 3 - 0
etcdserver/api/v3rpc/rpctypes/error.go

@@ -56,6 +56,7 @@ var (
 	ErrGRPCStopped                = grpc.Errorf(codes.Unavailable, "etcdserver: server stopped")
 	ErrGRPCTimeout                = grpc.Errorf(codes.Unavailable, "etcdserver: request timed out")
 	ErrGRPCTimeoutDueToLeaderFail = grpc.Errorf(codes.Unavailable, "etcdserver: request timed out, possibly due to previous leader failure")
+	ErrGRPCUnhealthy              = grpc.Errorf(codes.Unavailable, "etcdserver: unhealthy cluster")
 
 	errStringToError = map[string]error{
 		grpc.ErrorDesc(ErrGRPCEmptyKey):     ErrGRPCEmptyKey,
@@ -93,6 +94,7 @@ var (
 		grpc.ErrorDesc(ErrGRPCStopped):                ErrGRPCStopped,
 		grpc.ErrorDesc(ErrGRPCTimeout):                ErrGRPCTimeout,
 		grpc.ErrorDesc(ErrGRPCTimeoutDueToLeaderFail): ErrGRPCTimeoutDueToLeaderFail,
+		grpc.ErrorDesc(ErrGRPCUnhealthy):              ErrGRPCUnhealthy,
 	}
 
 	// client-side error
@@ -131,6 +133,7 @@ var (
 	ErrStopped                = Error(ErrGRPCStopped)
 	ErrTimeout                = Error(ErrGRPCTimeout)
 	ErrTimeoutDueToLeaderFail = Error(ErrGRPCTimeoutDueToLeaderFail)
+	ErrUnhealthy              = Error(ErrGRPCUnhealthy)
 )
 
 // EtcdError defines gRPC server errors.

+ 2 - 0
etcdserver/api/v3rpc/util.go

@@ -57,6 +57,8 @@ func togRPCError(err error) error {
 		return rpctypes.ErrGRPCTimeout
 	case etcdserver.ErrTimeoutDueToLeaderFail:
 		return rpctypes.ErrGRPCTimeoutDueToLeaderFail
+	case etcdserver.ErrUnhealthy:
+		return rpctypes.ErrGRPCUnhealthy
 
 	case auth.ErrRootUserNotExist:
 		return rpctypes.ErrGRPCRootUserNotExist