Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Unified Diff: tokenserver/client/tokenclient.go

Issue 2951393002: [errors] de-specialize Transient in favor of Tags. (Closed)
Patch Set: more refactor Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tokenserver/client/tokenclient.go
diff --git a/tokenserver/client/tokenclient.go b/tokenserver/client/tokenclient.go
index 50a058cb315938fc944af4ec5e51defc6bd681b1..0c7139e93a0eaed46c60f1645bba7711461415a1 100644
--- a/tokenserver/client/tokenclient.go
+++ b/tokenserver/client/tokenclient.go
@@ -14,8 +14,8 @@ import (
"google.golang.org/grpc/codes"
"github.com/luci/luci-go/common/clock"
- "github.com/luci/luci-go/common/errors"
"github.com/luci/luci-go/common/proto/google"
+ "github.com/luci/luci-go/common/retry/transient"
"github.com/luci/luci-go/grpc/grpcutil"
"github.com/luci/luci-go/tokenserver/api/minter/v1"
@@ -56,13 +56,6 @@ type RPCError struct {
ServiceVersion string // version of the backend, if known
}
-// IsTransient is needed to implement errors.Transient.
-func (e RPCError) IsTransient() bool {
- return e.error != nil && grpcutil.IsTransientCode(e.GrpcCode)
-}
-
-var _ errors.Transient = RPCError{}
-
// MintMachineToken signs the request using the signer and sends it.
//
// It will update in-place the following fields of the request:
@@ -116,10 +109,15 @@ func (c *Client) MintMachineToken(ctx context.Context, req *minter.MachineTokenR
// Fatal pRPC-level error or transient error in case retries didn't help.
if err != nil {
- return nil, RPCError{
+ code := grpc.Code(err)
+ err = RPCError{
error: err,
- GrpcCode: grpc.Code(err),
+ GrpcCode: code,
+ }
+ if grpcutil.IsTransientCode(code) {
+ err = transient.Tag.Apply(err)
}
+ return nil, err
}
// The response still may indicate a fatal error.

Powered by Google App Engine
This is Rietveld 408576698