open-nomad/client
Mahmood Ali 8df9b1fd0f
client: avoid acting on stale data after launch (#10907)
When the client launches, use a consistent read to fetch its own allocs,
but allow stale read afterwards as long as reads don't revert into older
state.

This change addresses an edge case affecting restarting client. When a
client restarts, it may fetch a stale data concerning its allocs: allocs
that have completed prior to the client shutdown may still have "run/running"
desired/client status, and have the client attempt to re-run again.

An alternative approach is to track the indices such that the client
set MinQueryIndex on the maximum index the client ever saw, or compare
received allocs against locally restored client state. Garbage
collection complicates this approach (local knowledge is not complete),
and the approach still risks starting "dead" allocations (e.g. the
allocation may have been placed when client just restarted and have
already been reschuled by the time the client started. This approach
here is effective against all kinds of stalness problems with small
overhead.
2021-07-20 15:13:28 -04:00
..
allocdir limit bytes passed to http.DetectContentType (#10348) 2021-04-09 14:37:27 -04:00
allochealth e2e test for on_update service checks 2021-02-08 08:32:40 -05:00
allocrunner Merge pull request #10849 from benbuzbee/benbuz/fix-destroy 2021-07-19 10:49:31 -07:00
allocwatcher
config client: disable cpuset cgroup managment if init fails 2021-04-14 14:44:08 -04:00
consul consul: plubming for specifying consul namespace in job/group 2021-04-05 10:03:19 -06:00
devicemanager Fix some errcheck errors (#9811) 2021-01-14 12:46:35 -08:00
dynamicplugins Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
fingerprint consul: pr cleanup namespace probe function signatures 2021-06-07 15:41:01 -05:00
interfaces
lib nit: code cleanup/organization 2021-04-16 15:14:29 -04:00
logmon Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
pluginmanager CSI: Include MountOptions in capabilities sent to CSI for all RPCs 2021-05-24 10:59:54 -04:00
servers
state Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
stats deps: bump gopsutil to v3.21.2 2021-03-30 16:02:51 -04:00
structs remove generated files 2021-06-10 08:04:25 -04:00
taskenv client: interpolate meta blocks with task environment (#10876) 2021-07-08 16:03:15 -04:00
testutil client/ar: thread through cpuset manager 2021-04-13 13:28:36 -04:00
vaultclient Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
acl.go
acl_test.go Event Stream: Track ACL changes, unsubscribe on invalidating changes (#9447) 2020-12-01 11:11:34 -05:00
agent_endpoint.go json handles were moved to a new package in #10202 2021-04-02 13:31:10 +00:00
agent_endpoint_test.go fix params for Agent.Host client RPC (#8795) 2020-08-31 17:14:26 -04:00
alloc_endpoint.go client: fix multiple imports (#10537) 2021-05-13 14:30:31 -04:00
alloc_endpoint_test.go tests: remove duplicate import statements. 2021-06-11 09:39:22 +02:00
alloc_watcher_e2e_test.go
client.go client: avoid acting on stale data after launch (#10907) 2021-07-20 15:13:28 -04:00
client_stats_endpoint.go
client_stats_endpoint_test.go
client_test.go client: fix multiple imports (#10537) 2021-05-13 14:30:31 -04:00
csi_endpoint.go CSI: use AccessMode/AttachmentMode from CSIVolumeClaim 2021-04-07 11:24:09 -04:00
csi_endpoint_test.go csi: accept list of caps during validation in volume register 2021-06-04 07:57:26 -04:00
driver_manager_test.go
enterprise_client_oss.go Add gosimple linter (#9590) 2020-12-09 11:05:18 -08:00
fingerprint_manager.go s/0.13/1.0/g 2020-10-14 15:17:47 -07:00
fingerprint_manager_test.go use allow/deny instead of the colored alternatives (#9019) 2020-10-12 08:47:05 -04:00
fs_endpoint.go json handles were moved to a new package in #10202 2021-04-02 13:31:10 +00:00
fs_endpoint_test.go client: fix test umask (#8987) 2020-09-30 08:09:41 -04:00
gc.go
gc_test.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00
heartbeatstop.go
heartbeatstop_test.go docs: s/hearbeat/heartbeat and fix link 2020-07-23 11:33:34 -07:00
node_updater.go
rpc.go pool: track usage of incoming streams (#10710) 2021-06-07 10:22:37 -04:00
rpc_test.go
testing.go test infrastructure for mock client RPCs (#10193) 2021-03-31 16:37:09 -04:00
util.go
util_test.go