feat: disable grpc retry, enable it in v1.2.4 (#1233)

master
Kevin Wan 3 years ago committed by GitHub
parent fa0c364982
commit 57d2f22c24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -19,7 +19,9 @@ var (
// WithTimeout is an alias of internal.WithTimeout.
WithTimeout = internal.WithTimeout
// WithRetry is an alias of internal.WithRetry.
WithRetry = internal.WithRetry
// TODO: enable it in v1.2.4
// WithRetry = internal.WithRetry
// WithTransportCredentials return a func to make the gRPC calls secured with given credentials.
WithTransportCredentials = internal.WithTransportCredentials
// WithUnaryClientInterceptor is an alias of internal.WithUnaryClientInterceptor.
@ -63,9 +65,10 @@ func NewClient(c RpcClientConf, options ...ClientOption) (Client, error) {
if c.Timeout > 0 {
opts = append(opts, WithTimeout(time.Duration(c.Timeout)*time.Millisecond))
}
if c.Retry {
opts = append(opts, WithRetry())
}
// TODO: enable it in v1.2.4
// if c.Retry {
// opts = append(opts, WithRetry())
// }
opts = append(opts, options...)
var target string

@ -96,20 +96,21 @@ func TestDepositServer_Deposit(t *testing.T) {
return invoker(ctx, method, req, reply, cc, opts...)
}),
)
retryClient := MustNewClient(
RpcClientConf{
Endpoints: []string{"foo"},
App: "foo",
Token: "bar",
Timeout: 1000,
Retry: true,
},
WithDialOption(grpc.WithContextDialer(dialer())),
WithUnaryClientInterceptor(func(ctx context.Context, method string, req, reply interface{},
cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error {
return invoker(ctx, method, req, reply, cc, opts...)
}),
)
// TODO: enable it in v1.2.4
// retryClient := MustNewClient(
// RpcClientConf{
// Endpoints: []string{"foo"},
// App: "foo",
// Token: "bar",
// Timeout: 1000,
// Retry: true,
// },
// WithDialOption(grpc.WithContextDialer(dialer())),
// WithUnaryClientInterceptor(func(ctx context.Context, method string, req, reply interface{},
// cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error {
// return invoker(ctx, method, req, reply, cc, opts...)
// }),
// )
tarConfClient := MustNewClient(
RpcClientConf{
Target: "foo",
@ -134,7 +135,8 @@ func TestDepositServer_Deposit(t *testing.T) {
clients := []Client{
directClient,
nonBlockClient,
retryClient,
// TODO: enable it in v1.2.4
// retryClient,
tarConfClient,
targetClient,
}

@ -18,7 +18,8 @@ type (
// setting 0 means no timeout
Timeout int64 `json:",default=2000"`
CpuThreshold int64 `json:",default=900,range=[0:1000]"`
MaxRetries int `json:",default=0,range=[0:]"`
// TODO: enable it in v1.2.4
// MaxRetries int `json:",default=0,range=[0:]"`
}
// A RpcClientConf is a rpc client config.
@ -29,7 +30,8 @@ type (
App string `json:",optional"`
Token string `json:",optional"`
NonBlock bool `json:",optional"`
Retry bool `json:",optional"` // grpc auto retry
// TODO: enable it in v1.2.4
// Retry bool `json:",optional"` // grpc auto retry
Timeout int64 `json:",default=2000"`
}
)

@ -38,7 +38,9 @@ func NewServer(c RpcServerConf, register internal.RegisterFn) (*RpcServer, error
var server internal.Server
metrics := stat.NewMetrics(c.ListenOn)
serverOptions := []internal.ServerOption{internal.WithMetrics(metrics), internal.WithMaxRetries(c.MaxRetries)}
// TODO: enable it in v1.2.4
// serverOptions := []internal.ServerOption{internal.WithMetrics(metrics), internal.WithMaxRetries(c.MaxRetries)}
serverOptions := []internal.ServerOption{internal.WithMetrics(metrics)}
if c.HasEtcd() {
server, err = internal.NewRpcPubServer(c.Etcd, c.ListenOn, serverOptions...)

Loading…
Cancel
Save