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

Side by Side Diff: appengine/datastorecache/cache.go

Issue 2951393002: [errors] de-specialize Transient in favor of Tags. (Closed)
Patch Set: copyright 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 unified diff | Download patch
« no previous file with comments | « no previous file | appengine/gaeauth/client/client.go » ('j') | common/errors/annotate.go » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The LUCI Authors. All rights reserved. 1 // Copyright 2016 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package datastorecache 5 package datastorecache
6 6
7 import ( 7 import (
8 "math" 8 "math"
9 "time" 9 "time"
10 10
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 refreshValue, delta, err = doRefresh(c, bci.h, & e, userNS) 329 refreshValue, delta, err = doRefresh(c, bci.h, & e, userNS)
330 return 330 return
331 }) 331 })
332 switch err { 332 switch err {
333 case nil: 333 case nil:
334 // Successfully loaded. 334 // Successfully loaded.
335 return nil 335 return nil
336 336
337 case ErrFailedToLock: 337 case ErrFailedToLock:
338 // Retry after delay. 338 // Retry after delay.
339 » » » » return errors.WrapTransient(err) 339 » » » » return retry.Tag.Apply(err)
dnj 2017/06/24 14:53:54 I don't like "retry.Tag.Apply" as a way of express
iannucci 2017/06/24 20:16:09 Done.
340 340
341 default: 341 default:
342 log.WithError(err).Warningf(c, "Unexpected failu re obtaining initial load lock.") 342 log.WithError(err).Warningf(c, "Unexpected failu re obtaining initial load lock.")
343 return err 343 return err
344 } 344 }
345 }, func(err error, d time.Duration) { 345 }, func(err error, d time.Duration) {
346 log.WithError(err).Debugf(c, "Failed to acquire initial refresh lock. Retrying...") 346 log.WithError(err).Debugf(c, "Failed to acquire initial refresh lock. Retrying...")
347 }) 347 })
348 if err != nil { 348 if err != nil {
349 // If we actually acquired the lock, then this refresh was a fai lure, and 349 // If we actually acquired the lock, then this refresh was a fai lure, and
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 // delta is a factor representing the amount of time that it takes to 455 // delta is a factor representing the amount of time that it takes to
456 // recalculate the value. Higher delta values allow for earlier recomputation 456 // recalculate the value. Higher delta values allow for earlier recomputation
457 // for values that take longer to calculate. 457 // for values that take longer to calculate.
458 // 458 //
459 // beta can be set to >1 to favor earlier recomputations; however, in practice 459 // beta can be set to >1 to favor earlier recomputations; however, in practice
460 // beta=1 works well. 460 // beta=1 works well.
461 func xFetch(now, expiry time.Time, delta time.Duration, beta float64, rf randFun c) bool { 461 func xFetch(now, expiry time.Time, delta time.Duration, beta float64, rf randFun c) bool {
462 offset := time.Duration(float64(delta) * beta * math.Log(rf())) 462 offset := time.Duration(float64(delta) * beta * math.Log(rf()))
463 return !now.Add(-offset).Before(expiry) 463 return !now.Add(-offset).Before(expiry)
464 } 464 }
OLDNEW
« no previous file with comments | « no previous file | appengine/gaeauth/client/client.go » ('j') | common/errors/annotate.go » ('J')

Powered by Google App Engine
This is Rietveld 408576698