-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
scheduler: Handle cycles in directly chained dependencies #3490
scheduler: Handle cycles in directly chained dependencies #3490
Conversation
Otherwise the unhandled exception prevents the scheduler from processing *any* further scheduled jobs and jobs are stuck in the scheduled state. See https://progress.opensuse.org/issues/32545#note-37 for a graph with an example of such a problematic directly chained cluster.
Codecov Report
@@ Coverage Diff @@
## master #3490 +/- ##
==========================================
+ Coverage 95.52% 95.57% +0.05%
==========================================
Files 366 366
Lines 31632 31660 +28
==========================================
+ Hits 30215 30259 +44
+ Misses 1417 1401 -16
Continue to review full report at Codecov.
|
so they prevent other jobs from being assigned
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: Unrelated failures due to poo#75370 but relevant tests are passing.
Looks sensible to me. And thank you for linking the semi-related ticket!
@@ -141,6 +143,33 @@ subtest 'assign multiple jobs to worker' => sub { | |||
ok($job_token, 'job token present'); | |||
}; | |||
|
|||
# prevent writing to a log file to enable use of combined_like in the following tests | |||
my $usual_log = $t->app->log; | |||
$t->app->log(Mojo::Log->new(level => 'debug')); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this should just be enabled at the start of the test? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, it shouldn't. I also intentionally disable it immediately after the tests using it again. That's because other logs messages would otherwise interfere with the test output (unless explicitly handled).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you do that within the subtest as well as the restoring?
Ah, nice that you've already created a ticket for the failure. Unfortunately I'm currently not sure where it comes from. And the OBS failures should hopefully go away with #3491. |
Otherwise the unhandled exception prevents the scheduler from processing
any further scheduled jobs and jobs are stuck in the scheduled state.
See https://progress.opensuse.org/issues/32545#note-37 for a graph with
an example of such a problematic directly chained cluster.