ac7c39d3d3
* client/heartbeatstop: reversed time condition for startup grace * scheduler/generic_sched: use `delayInstead` to avoid a loop Without protecting the loop that creates followUpEvals, a delayed eval is allowed to create an immediate subsequent delayed eval. For both `stop_after_client_disconnect` and the `reschedule` block, a delayed eval should always produce some immediate result (running or blocked) and then only after the outcome of that eval produce a second delayed eval. * scheduler/reconcile: lostLater are different than delayedReschedules Just slightly. `lostLater` allocs should be used to create batched evaluations, but `handleDelayedReschedules` assumes that the allocations are in the untainted set. When it creates the in-place updates to those allocations at the end, it causes the allocation to be treated as running over in the planner, which causes the initial `stop_after_client_disconnect` evaluation to be retried by the worker. |
||
---|---|---|
.. | ||
annotate.go | ||
annotate_test.go | ||
context.go | ||
context_test.go | ||
device.go | ||
device_test.go | ||
feasible.go | ||
feasible_test.go | ||
generic_sched.go | ||
generic_sched_test.go | ||
preemption.go | ||
preemption_test.go | ||
propertyset.go | ||
rank.go | ||
rank_test.go | ||
reconcile.go | ||
reconcile_test.go | ||
reconcile_util.go | ||
reconcile_util_test.go | ||
scheduler.go | ||
scheduler_oss.go | ||
select.go | ||
select_test.go | ||
spread.go | ||
spread_test.go | ||
stack.go | ||
stack_not_ent.go | ||
stack_test.go | ||
system_sched.go | ||
system_sched_test.go | ||
testing.go | ||
util.go | ||
util_test.go |