| Index: tokenserver/appengine/impl/certconfig/rpc_fetch_crl.go
|
| diff --git a/tokenserver/appengine/impl/certconfig/rpc_fetch_crl.go b/tokenserver/appengine/impl/certconfig/rpc_fetch_crl.go
|
| index 1a64a936083e9d7e5eac347eb22a0b82b70416fd..6d6e426bee9d59b97f258a716ca662ac8740fb39 100644
|
| --- a/tokenserver/appengine/impl/certconfig/rpc_fetch_crl.go
|
| +++ b/tokenserver/appengine/impl/certconfig/rpc_fetch_crl.go
|
| @@ -19,6 +19,7 @@ import (
|
| "github.com/luci/luci-go/common/clock"
|
| "github.com/luci/luci-go/common/errors"
|
| "github.com/luci/luci-go/common/logging"
|
| + "github.com/luci/luci-go/common/retry/transient"
|
| "github.com/luci/luci-go/server/auth"
|
|
|
| "github.com/luci/luci-go/tokenserver/api/admin/v1"
|
| @@ -68,7 +69,7 @@ func (r *FetchCRLRPC) FetchCRL(c context.Context, req *admin.FetchCRLRequest) (*
|
| fetchCtx, _ := clock.WithTimeout(c, time.Minute)
|
| crlDer, newEtag, err := fetchCRL(fetchCtx, cfg, knownETag)
|
| switch {
|
| - case errors.IsTransient(err):
|
| + case transient.Tag.In(err):
|
| return nil, grpc.Errorf(codes.Internal, "transient error when fetching CRL - %s", err)
|
| case err != nil:
|
| return nil, grpc.Errorf(codes.Unknown, "can't fetch CRL - %s", err)
|
| @@ -81,7 +82,7 @@ func (r *FetchCRLRPC) FetchCRL(c context.Context, req *admin.FetchCRLRequest) (*
|
| logging.Infof(c, "Fetched CRL size is %d bytes, etag is %s", len(crlDer), newEtag)
|
| crl, err = validateAndStoreCRL(c, crlDer, newEtag, ca, crl)
|
| switch {
|
| - case errors.IsTransient(err):
|
| + case transient.Tag.In(err):
|
| return nil, grpc.Errorf(codes.Internal, "transient error when storing CRL - %s", err)
|
| case err != nil:
|
| return nil, grpc.Errorf(codes.Unknown, "bad CRL - %s", err)
|
| @@ -120,7 +121,7 @@ func fetchCRL(c context.Context, cfg *admin.CertificateAuthorityConfig, knownETa
|
| cl := http.Client{Transport: transport}
|
| resp, err := cl.Do(req)
|
| if err != nil {
|
| - return nil, "", errors.WrapTransient(err)
|
| + return nil, "", transient.Tag.Apply(err)
|
| }
|
| defer resp.Body.Close()
|
|
|
| @@ -135,13 +136,14 @@ func fetchCRL(c context.Context, cfg *admin.CertificateAuthorityConfig, knownETa
|
| // Read the body in its entirety.
|
| blob, err = ioutil.ReadAll(resp.Body)
|
| if err != nil {
|
| - return nil, "", errors.WrapTransient(err)
|
| + return nil, "", transient.Tag.Apply(err)
|
| }
|
|
|
| // Transient error?
|
| if resp.StatusCode >= http.StatusInternalServerError {
|
| logging.Warningf(c, "GET %s - HTTP %d; %q", cfg.CrlUrl, resp.StatusCode, string(blob))
|
| - return nil, "", errors.WrapTransient(fmt.Errorf("server replied with HTTP %d", resp.StatusCode))
|
| + return nil, "", errors.Reason("server replied with HTTP %(code)d").
|
| + D("code", resp.StatusCode).Tag(transient.Tag).Err()
|
| }
|
|
|
| // Something we don't support or expect?
|
| @@ -213,7 +215,7 @@ func validateAndStoreCRL(c context.Context, crlDer []byte, etag string, ca *CA,
|
| return ds.Put(c, toPut)
|
| }, nil)
|
| if err != nil {
|
| - return nil, errors.WrapTransient(err)
|
| + return nil, transient.Tag.Apply(err)
|
| }
|
|
|
| logging.Infof(c, "CRL for %q is updated, entity version is %d", ca.CN, updated.EntityVersion)
|
|
|