From e5670d0f9f2506213022b4e377495c4602341f9a Mon Sep 17 00:00:00 2001 From: Alex Dadgar Date: Thu, 31 Aug 2017 13:03:35 -0700 Subject: [PATCH] WatchCtx propogates context error --- nomad/deploymentwatcher/deployments_watcher.go | 5 +---- nomad/rpc.go | 4 +--- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/nomad/deploymentwatcher/deployments_watcher.go b/nomad/deploymentwatcher/deployments_watcher.go index b3e14f82c..5cd85ad15 100644 --- a/nomad/deploymentwatcher/deployments_watcher.go +++ b/nomad/deploymentwatcher/deployments_watcher.go @@ -149,7 +149,7 @@ func (w *Watcher) watchDeployments(ctx context.Context) { // Block getting all deployments using the last deployment index. deployments, idx, err := w.getDeploys(ctx, dindex) if err != nil { - if err == context.Canceled || ctx.Err() == context.Canceled { + if err == context.Canceled { return } @@ -179,9 +179,6 @@ func (w *Watcher) getDeploys(ctx context.Context, minIndex uint64) ([]*structs.D if err != nil { return nil, 0, err } - if err := ctx.Err(); err != nil { - return nil, 0, err - } return resp.([]*structs.Deployment), index, nil } diff --git a/nomad/rpc.go b/nomad/rpc.go index b3bb2895d..45efd57cb 100644 --- a/nomad/rpc.go +++ b/nomad/rpc.go @@ -342,7 +342,6 @@ type blockingOptions struct { // blockingRPC is used for queries that need to wait for a // minimum index. This is used to block and wait for changes. func (s *Server) blockingRPC(opts *blockingOptions) error { - var deadline time.Time ctx := context.Background() var cancel context.CancelFunc var state *state.StateStore @@ -363,8 +362,7 @@ func (s *Server) blockingRPC(opts *blockingOptions) error { opts.queryOpts.MaxQueryTime += lib.RandomStagger(opts.queryOpts.MaxQueryTime / jitterFraction) // Setup a query timeout - deadline = time.Now().Add(opts.queryOpts.MaxQueryTime) - ctx, cancel = context.WithDeadline(context.Background(), deadline) + ctx, cancel = context.WithTimeout(context.Background(), opts.queryOpts.MaxQueryTime) defer cancel() RUN_QUERY: