| Index: logdog/server/service/service.go
|
| diff --git a/logdog/server/service/service.go b/logdog/server/service/service.go
|
| index c40480784ead406b0b2019ab6f5de3feca3b9974..8d896a002a4e6667e69402703fcd48f8f857c335 100644
|
| --- a/logdog/server/service/service.go
|
| +++ b/logdog/server/service/service.go
|
| @@ -97,6 +97,7 @@ type Service struct {
|
| killCheckInterval clockflag.Duration
|
| configFilePath string
|
| serviceConfig svcconfig.Config
|
| + configCache config.ProcCache
|
|
|
| // serviceID is the cloud project ID, which is also this service's unique
|
| // ID. This can be specified by flag or, if on GCE, will automatically be
|
| @@ -414,11 +415,12 @@ func (s *Service) ProjectConfig(c context.Context, proj cfgtypes.ProjectName) (*
|
| cset, path := s.ProjectConfigPath(proj)
|
|
|
| var pcfg svcconfig.ProjectConfig
|
| - if err := cfgclient.Get(c, cfgclient.AsService, cset, path, textproto.Message(&pcfg), nil); err != nil {
|
| + msg, err := s.configCache.GetTextProto(c, cset, path, &pcfg)
|
| + if err != nil {
|
| return nil, errors.Annotate(err).Reason("failed to load project config from %(cset)s.%(path)s").
|
| D("cset", cset).D("path", path).Err()
|
| }
|
| - return &pcfg, nil
|
| + return msg.(*svcconfig.ProjectConfig), nil
|
| }
|
|
|
| // SetShutdownFunc sets the service shutdown function.
|
|
|