myxce/src
Rongsong Shen 8faf59618e
fix(scheduler): replace limits on a config re-push (bug-1967)
limit_seed_config_impl() key_add()ed each pushed limit into the existing
table and returned at the first failure, so on any second push (live
config upgrade, or a simulator CONFIG_PUSH since bug-1964) the first
already-present name failed with -EEXIST: changed limits kept the old
definition and later new limits were never added.

A push now builds the whole new limit set into a fresh table and swaps it
in (all-or-nothing: on any build/register failure the previous set and its
instances stay). Usage instances are carried across: an instance of a kept
limit whose scoping and resource are unchanged is rebound to the new
definition; an instance of a removed limit, or of one whose per-consumer
scoping, resource or percent changed, is dropped and re-created on the next
match. Usage itself lives in the resource manager under the instance's
virtual resource, so counts survive either way. Not part of the snapshot
(a snapshot carries the config and reseeds from it).

The seed moves to plugins/limit_config.c (limit.c is near the 800-line
cap) with the private data type in plugins/limit_internal.h. Two REPL
limit-table fixtures relied on the additive behaviour (two single-limit
pushes) and now configure both limits in one push.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-10 11:38:05 +00:00
..
autoscaler remove extralib 2026-09-04 11:24:43 +08:00
configs feat(xceadmin): validate percent-based limit values are in [0.0, 1.0] (bug-1833) 2026-09-20 10:50:21 +00:00
controller fix(controller): reject submissions to closed or unknown queues (bug-1960) 2026-10-10 10:38:42 +00:00
docs feat(xcecli): jobs kill --signal and --force 2026-10-10 10:25:23 +00:00
frontend fix(apiserver): answer the controller's queue rejections as client errors (bug-1960) 2026-10-10 10:40:15 +00:00
harness fix(harness): xce_test fake worker answers the controller's job-state query (bug-1922) 2026-10-08 03:03:09 +00:00
include fix(controller): reject submissions to closed or unknown queues (bug-1960) 2026-10-10 10:38:42 +00:00
lib fix(controller): reject submissions to closed or unknown queues (bug-1960) 2026-10-10 10:38:42 +00:00
nixSupport remove extralib 2026-09-04 11:24:43 +08:00
scheduler fix(scheduler): replace limits on a config re-push (bug-1967) 2026-10-10 11:38:05 +00:00
schema fix(worker): graceful job kill and catchable stop, as LSF (bug-1957) 2026-10-10 10:00:36 +00:00
tools fix(build): run every apiserver Go test package in xce-build.sh (bug-1965) 2026-10-10 10:37:52 +00:00
worker fix(worker): graceful job kill and catchable stop, as LSF (bug-1957) 2026-10-10 10:00:36 +00:00
xceadmin build(xceadmin): run the live E2E tests against this build's xce_controller 2026-10-09 06:41:09 +00:00
flake.lock remove extralib 2026-09-04 11:24:43 +08:00
flake.nix remove extralib 2026-09-04 11:24:43 +08:00
meson.build feat(xce-harness-component): relocate xce_test into standalone harness component 2026-09-14 05:08:15 +00:00
meson.options feat(dirty-content-fingerprint): add dirty_fingerprint meson option and C define 2026-08-21 03:54:37 +00:00