Merge pull request #693 from prometheus/fabxc/preload_timeout

Check context before each preloading.
This commit is contained in:
Fabian Reinartz 2015-05-12 12:25:22 +02:00
commit 4234a45d2e
1 changed files with 6 additions and 4 deletions

View File

@ -131,19 +131,21 @@ func (a *Analyzer) Prepare(ctx context.Context) (local.Preloader, error) {
// Preload all analyzed ranges. // Preload all analyzed ranges.
for offset, pt := range a.offsetPreloadTimes { for offset, pt := range a.offsetPreloadTimes {
if err = contextDone(ctx, env); err != nil {
return nil, err
}
start := a.Start.Add(-offset) start := a.Start.Add(-offset)
end := a.End.Add(-offset) end := a.End.Add(-offset)
for fp, rangeDuration := range pt.ranges { for fp, rangeDuration := range pt.ranges {
if err = contextDone(ctx, env); err != nil {
return nil, err
}
err = p.PreloadRange(fp, start.Add(-rangeDuration), end, *stalenessDelta) err = p.PreloadRange(fp, start.Add(-rangeDuration), end, *stalenessDelta)
if err != nil { if err != nil {
return nil, err return nil, err
} }
} }
for fp := range pt.instants { for fp := range pt.instants {
if err = contextDone(ctx, env); err != nil {
return nil, err
}
err = p.PreloadRange(fp, start, end, *stalenessDelta) err = p.PreloadRange(fp, start, end, *stalenessDelta)
if err != nil { if err != nil {
return nil, err return nil, err