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

Unified Diff: appengine/logdog/coordinator/endpoints/services/registerStream.go

Issue 1972753002: LogDog: Implement prefix expiration. (Closed) Base URL: https://github.com/luci/luci-go@logdog-butler-register-coordinator-impl
Patch Set: Updated patchset dependency Created 4 years, 7 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: appengine/logdog/coordinator/endpoints/services/registerStream.go
diff --git a/appengine/logdog/coordinator/endpoints/services/registerStream.go b/appengine/logdog/coordinator/endpoints/services/registerStream.go
index b8261765b644d10a6daa66a00a8e34a63e615275..9682114c7063cafcd64b6bec2e51fa03f66ade6a 100644
--- a/appengine/logdog/coordinator/endpoints/services/registerStream.go
+++ b/appengine/logdog/coordinator/endpoints/services/registerStream.go
@@ -109,6 +109,25 @@ func (s *server) RegisterStream(c context.Context, req *logdog.RegisterStreamReq
return nil, grpcutil.Internal
}
+ // If we're past prefix's expiration, reject this stream.
+ //
+ // If the prefix doesn't have an expiration, use its creation time and apply
+ // the maximum expiration.
+ expirationTime := pfx.Expiration
+ if expirationTime.IsZero() {
+ expiration := endpoints.MinDuration(cfg.Coordinator.PrefixExpiration, pcfg.PrefixExpiration)
+ if expiration > 0 {
+ expirationTime = pfx.Created.Add(expiration)
+ }
+ }
+ if now := clock.Now(c); expirationTime.IsZero() || !now.Before(expirationTime) {
+ log.Fields{
+ "prefix": pfx.Prefix,
+ "expiration": expirationTime,
+ }.Errorf(c, "The log stream Prefix has expired.")
+ return nil, grpcutil.Errf(codes.FailedPrecondition, "prefix has expired")
+ }
+
// The prefix secret must match the request secret. If it does, we know this
// is a legitimate registration attempt.
if subtle.ConstantTimeCompare(pfx.Secret, req.Secret) != 1 {

Powered by Google App Engine
This is Rietveld 408576698