flux-framework / flux-sched

Fluxion Graph-based Scheduler
GNU Lesser General Public License v3.0
84 stars 39 forks source link

[WIP] Add support for expiration update #1158

Open milroy opened 1 month ago

milroy commented 1 month ago

This PR adds functionality to update an allocated job's expiration. To do so, we add modify functionality within the traverser to update a jobid rather than remove it. The PR adds functionality to update planner scheduled points to extend the last and last_p->at times. When merged, this PR will resolve issue #1079.

This PR is WIP as it isn't clear whether the simple modification of an allocation's expiration will work when there are queue policies that create reservations.

codecov[bot] commented 1 month ago

Codecov Report

Merging #1158 (f15a5f0) into master (68c636a) will decrease coverage by 1.0%. The diff coverage is 31.7%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #1158 +/- ## ======================================== - Coverage 71.0% 70.1% -1.0% ======================================== Files 96 96 Lines 12867 13079 +212 ======================================== + Hits 9147 9175 +28 - Misses 3720 3904 +184 ``` | [Files](https://app.codecov.io/gh/flux-framework/flux-sched/pull/1158?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=flux-framework) | Coverage Δ | | |---|---|---| | [resource/traversers/dfu\_impl.hpp](https://app.codecov.io/gh/flux-framework/flux-sched/pull/1158?src=pr&el=tree&filepath=resource%2Ftraversers%2Fdfu_impl.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=flux-framework#diff-cmVzb3VyY2UvdHJhdmVyc2Vycy9kZnVfaW1wbC5ocHA=) | `94.7% <ø> (ø)` | | | [resource/planner/c++/planner.cpp](https://app.codecov.io/gh/flux-framework/flux-sched/pull/1158?src=pr&el=tree&filepath=resource%2Fplanner%2Fc%2B%2B%2Fplanner.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=flux-framework#diff-cmVzb3VyY2UvcGxhbm5lci9jKysvcGxhbm5lci5jcHA=) | `81.9% <0.0%> (-1.6%)` | :arrow_down: | | [resource/traversers/dfu.cpp](https://app.codecov.io/gh/flux-framework/flux-sched/pull/1158?src=pr&el=tree&filepath=resource%2Ftraversers%2Fdfu.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=flux-framework#diff-cmVzb3VyY2UvdHJhdmVyc2Vycy9kZnUuY3Bw) | `83.4% <0.0%> (-4.2%)` | :arrow_down: | | [qmanager/modules/qmanager.cpp](https://app.codecov.io/gh/flux-framework/flux-sched/pull/1158?src=pr&el=tree&filepath=qmanager%2Fmodules%2Fqmanager.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=flux-framework#diff-cW1hbmFnZXIvbW9kdWxlcy9xbWFuYWdlci5jcHA=) | `70.6% <70.4%> (-2.9%)` | :arrow_down: | | [resource/planner/c/planner\_multi\_c\_interface.cpp](https://app.codecov.io/gh/flux-framework/flux-sched/pull/1158?src=pr&el=tree&filepath=resource%2Fplanner%2Fc%2Fplanner_multi_c_interface.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=flux-framework#diff-cmVzb3VyY2UvcGxhbm5lci9jL3BsYW5uZXJfbXVsdGlfY19pbnRlcmZhY2UuY3Bw) | `55.3% <0.0%> (-2.8%)` | :arrow_down: | | [resource/planner/c/planner\_c\_interface.cpp](https://app.codecov.io/gh/flux-framework/flux-sched/pull/1158?src=pr&el=tree&filepath=resource%2Fplanner%2Fc%2Fplanner_c_interface.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=flux-framework#diff-cmVzb3VyY2UvcGxhbm5lci9jL3BsYW5uZXJfY19pbnRlcmZhY2UuY3Bw) | `66.8% <0.0%> (-3.3%)` | :arrow_down: | | [resource/utilities/command.cpp](https://app.codecov.io/gh/flux-framework/flux-sched/pull/1158?src=pr&el=tree&filepath=resource%2Futilities%2Fcommand.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=flux-framework#diff-cmVzb3VyY2UvdXRpbGl0aWVzL2NvbW1hbmQuY3Bw) | `71.6% <0.0%> (-3.8%)` | :arrow_down: | | [resource/modules/resource\_match.cpp](https://app.codecov.io/gh/flux-framework/flux-sched/pull/1158?src=pr&el=tree&filepath=resource%2Fmodules%2Fresource_match.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=flux-framework#diff-cmVzb3VyY2UvbW9kdWxlcy9yZXNvdXJjZV9tYXRjaC5jcHA=) | `66.8% <17.3%> (-1.8%)` | :arrow_down: | | [resource/traversers/dfu\_impl\_update.cpp](https://app.codecov.io/gh/flux-framework/flux-sched/pull/1158?src=pr&el=tree&filepath=resource%2Ftraversers%2Fdfu_impl_update.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=flux-framework#diff-cmVzb3VyY2UvdHJhdmVyc2Vycy9kZnVfaW1wbF91cGRhdGUuY3Bw) | `70.0% <43.9%> (-7.7%)` | :arrow_down: |