You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Chris Lu
e3e015e108
feat: introduce scheduler lanes for independent per-workload scheduling
Split the single plugin scheduler loop into independent per-lane
goroutines so that volume management, iceberg compaction, and lifecycle
operations never block each other.
Each lane has its own:
- Goroutine (laneSchedulerLoop)
- Wake channel for immediate scheduling
- Admin lock scope (e.g. "plugin scheduler:default")
- Configurable idle sleep duration
- Loop state tracking
Three lanes are defined:
- default: vacuum, volume_balance, ec_balance, erasure_coding, admin_script
- iceberg: iceberg_maintenance
- lifecycle: s3_lifecycle (new, handler coming in a later commit)
Job types are mapped to lanes via a hardcoded map with LaneDefault as
the fallback. The SchedulerJobTypeState and SchedulerStatus types now
include a Lane field for API consumers.
2 days ago
..
DESIGN.md
Refactor plugin system and migrate worker runtime (#8369)
1 month ago
config_store.go
admin/plugin: delete job_detail files when jobs are pruned from memory (#8722)
7 days ago
config_store_test.go
admin/plugin: delete job_detail files when jobs are pruned from memory (#8722)
7 days ago
job_execution_plan.go
Refactor plugin system and migrate worker runtime (#8369)
1 month ago
lock_manager.go
add admin script worker (#8491)
4 weeks ago
plugin.go
feat: separate scheduler lanes for iceberg, lifecycle, and volume management (#8787)
2 days ago
plugin_cancel_test.go
add admin script worker (#8491)
4 weeks ago
plugin_config_bootstrap_test.go
Refactor plugin system and migrate worker runtime (#8369)
1 month ago
plugin_detection_test.go
add admin script worker (#8491)
4 weeks ago
plugin_monitor.go
admin/plugin: delete job_detail files when jobs are pruned from memory (#8722)
7 days ago
plugin_monitor_test.go
Refactor plugin system and migrate worker runtime (#8369)
1 month ago
plugin_scheduler.go
feat: separate scheduler lanes for iceberg, lifecycle, and volume management (#8787)
2 days ago
plugin_scheduler_test.go
Plugin scheduler: sequential iterations with max runtime (#8496)
3 weeks ago
plugin_schema_prefetch.go
Refactor plugin system and migrate worker runtime (#8369)
1 month ago
registry.go
feat: auto-disable master vacuum when plugin worker is active (#8624)
2 weeks ago
registry_test.go
feat: auto-disable master vacuum when plugin worker is active (#8624)
2 weeks ago
scheduler_config.go
simplify plugin scheduler: remove configurable IdleSleepSeconds, use constant 61s
3 weeks ago
scheduler_lane.go
feat: separate scheduler lanes for iceberg, lifecycle, and volume management (#8787)
2 days ago
scheduler_lane_test.go
feat: separate scheduler lanes for iceberg, lifecycle, and volume management (#8787)
2 days ago
scheduler_status.go
feat: introduce scheduler lanes for independent per-workload scheduling
2 days ago
scheduler_status_test.go
add admin script worker (#8491)
4 weeks ago
types.go
feat: separate scheduler lanes for iceberg, lifecycle, and volume management (#8787)
2 days ago