Skip to content

Commit

Permalink
Ensure that the index processed by the client is at least as new as t…
Browse files Browse the repository at this point in the history
…he last one processed. (#18269)

Ensure that the index processed by the client is at least as new as the last index processed so that stale data does not impact the running allocations.
  • Loading branch information
stswidwinski committed Aug 25, 2023
1 parent da830b1 commit f25480c
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .changelog/18269.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
client: Ignore stale server updates to prevent GCing allocations that should be running
```
12 changes: 12 additions & 0 deletions client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -2360,6 +2360,18 @@ OUTER:
default:
}

// We have not received any new data, or received stale data. This may happen in
// an array of situations, the worst of which seems to be a blocking request
// timeout when the scheduler which we are contacting is newly added or recovering
// after a prolonged downtime.
//
// For full context, please see https://github.com/hashicorp/nomad/issues/18267
if resp.Index <= req.MinQueryIndex {
c.logger.Debug("Received stale allocation information. Retrying.",
"index", resp.Index, "min_index", req.MinQueryIndex)
continue OUTER
}

// Filter all allocations whose AllocModifyIndex was not incremented.
// These are the allocations who have either not been updated, or whose
// updates are a result of the client sending an update for the alloc.
Expand Down

0 comments on commit f25480c

Please sign in to comment.