Files
serxaandClaude Opus 4.8 a77703af6c Remove obsolete CustomResourceManager in favor of WorkloadResourceManager
CustomResourceManager was the original config-XML-based resource scheduler:
scheduling hierarchies were described in the server config via the `resources`
and `workload_classifiers` sections. It has been superseded by
WorkloadResourceManager, which builds the same hierarchies from SQL
`CREATE RESOURCE` / `CREATE WORKLOAD` entities, so the config-based path is
redundant.

This removes:
- `CustomResourceManager` and `ClassifiersConfig`, and the dispatcher entry in
  `createResourceManager`.
- The legacy config-string node-construction machinery that only existed to
  support it: `SchedulerNodeFactory`, `registerSchedulerNodes`, the per-node
  `register*` functions, every `(config, prefix)` constructor (down through
  `SchedulerNodeInfo`, `ISchedulerNode` and the `ITimeSharedNode` /
  `ISchedulerConstraint` / `ISchedulerQueue` / `ISpaceSharedNode` bases), and
  `emptyConfig`. The scheduler node classes themselves are unchanged and are
  still created programmatically by `WorkloadNode`.
- The now-dead `equals(ISchedulerNode *)` configuration-diff virtual (used only
  by `CustomResourceManager`) and its overrides, plus the unused
  `IResourceManager::updateConfiguration`.
- The `CUSTOM_RESOURCE_MANAGER` thread name.

The `resources` and `workload_classifiers` config sections are now obsolete;
the server logs a warning and ignores them on startup/reload.

Unit tests (`ResourceTest` helper and the time-shared node gtests) now build
nodes via `SchedulerNodeInfo` constructors instead of XML snippets.

The `test_scheduler` integration suite is renamed to `test_scheduler_io` (it is
IO-specific, exercising `READ DISK` / `WRITE DISK` resources, matching the
`test_scheduler_*` naming). Its config-based tests are reworked to define
resources and workloads via SQL; tests already covered by existing SQL-based
tests were dropped rather than duplicated.

Documentation: the config-based `resources` hierarchy and the deprecated
workload classifiers sections are removed from workload-scheduling.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-23 11:59:07 +00:00

0 lines
0 B
Python