Skip to content

Ds 2171 introduce singleJobPerResourcePolicy and extend JobAdminApi with dynamic scheduler configuration#1823

Merged
mchrza merged 6 commits into
masterfrom
DS-2171
May 20, 2026
Merged

Ds 2171 introduce singleJobPerResourcePolicy and extend JobAdminApi with dynamic scheduler configuration#1823
mchrza merged 6 commits into
masterfrom
DS-2171

Conversation

@mchrza
Copy link
Copy Markdown
Contributor

@mchrza mchrza commented Apr 29, 2026

JobExecutor:

  • Implement single job per resource policy in JobExecutor. Enforce FIFO for pending jobs on overlapping resources.

JobAdminApi:

  • Add new endpoint /admin/service/scheduler/state to control/configure scheduler during runtime.

@mchrza mchrza requested a review from a team as a code owner April 29, 2026 10:12
@mchrza mchrza changed the title Ds 2171 introduce singleJobPerResourcePoliy and extend JobAdminApi with dynamic scheduler configuration Ds 2171 introduce singleJobPerResourcePolicy and extend JobAdminApi with dynamic scheduler configuration Apr 29, 2026
@@ -334,13 +354,79 @@ private static Step cancelNonRunningStep(Job job, Step step) {
private Future<Boolean> mayExecute(Job job) {
//Check execution policies and resources
return executionPoliciesSatisfied(job)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The checks for executionPoliciesSatisfied and singleJobPerResourceSatisfied can be done parallely and result can be checked in single .compose

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also both of these calls are loading the list of RUNNING jobs as first step. Maybe instead we should load that list once upfront and pass it to both of these methods (as these are private anyways).

@@ -334,13 +354,79 @@ private static Step cancelNonRunningStep(Job job, Step step) {
private Future<Boolean> mayExecute(Job job) {
//Check execution policies and resources
return executionPoliciesSatisfied(job)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also both of these calls are loading the list of RUNNING jobs as first step. Maybe instead we should load that list once upfront and pass it to both of these methods (as these are private anyways).

mchrza added 5 commits May 20, 2026 09:04
…orce FIFO for pending jobs on overlapping resources.

Signed-off-by: mchrza <maximilian.chrzan@here.com>
… control/configure scheduler during runtime.

Signed-off-by: mchrza <maximilian.chrzan@here.com>
…hedulerState in JobExecutor. SchedulerRuntimeState can be now RUNNING/PAUSED. Further small optimizations.

Signed-off-by: mchrza <maximilian.chrzan@here.com>
Signed-off-by: mchrza <maximilian.chrzan@here.com>
…rt for partial state updates.

Signed-off-by: mchrza <maximilian.chrzan@here.com>
Signed-off-by: mchrza <maximilian.chrzan@here.com>
@mchrza mchrza merged commit 0ad58f3 into master May 20, 2026
3 checks passed
@mchrza mchrza deleted the DS-2171 branch May 20, 2026 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants