File tree Expand file tree Collapse file tree 2 files changed +17
-2
lines changed
gmicro/server/rpcserver/selector/node/ewma Expand file tree Collapse file tree 2 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -8,9 +8,11 @@ import (
8
8
"sync/atomic"
9
9
"time"
10
10
11
+ "google.golang.org/grpc/codes"
12
+
11
13
"github.com/CoderI421/gframework/gmicro/server/rpcserver/selector"
12
14
13
- "github.com/go-kratos/kratos/v2 /errors"
15
+ "github.com/CoderI421/gframework/pkg /errors"
14
16
)
15
17
16
18
const (
@@ -164,7 +166,7 @@ func (n *Node) Pick() selector.DoneFunc {
164
166
success = 0
165
167
}
166
168
} else if errors .Is (context .DeadlineExceeded , di .Err ) || errors .Is (context .Canceled , di .Err ) ||
167
- errors .IsServiceUnavailable (di .Err ) || errors .IsGatewayTimeout (di .Err ) {
169
+ errors .FromGrpcErrorCode (di .Err ) == int ( codes . Unavailable ) || errors .FromGrpcErrorCode (di .Err ) == int ( codes . DeadlineExceeded ) {
168
170
success = 0
169
171
}
170
172
}
Original file line number Diff line number Diff line change @@ -159,6 +159,19 @@ func FromGrpcError(e error) error {
159
159
}
160
160
}
161
161
162
+ func FromGrpcErrorCode (e error ) int {
163
+ if e == nil {
164
+ return 100002
165
+ }
166
+
167
+ st , ok := status .FromError (e )
168
+ if ! ok {
169
+ return 100002
170
+ }
171
+
172
+ return int (st .Code ())
173
+ }
174
+
162
175
func ToGrpcError (e error ) error {
163
176
if e == nil {
164
177
return e
You can’t perform that action at this time.
0 commit comments