-
Notifications
You must be signed in to change notification settings - Fork 22
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
Handle task scheduling in ResumableSimulationDriver #1262
Conversation
8116244
to
7d51acd
Compare
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.
Could you either update or add a new Anchor Integration test in SchedulingIntegrationTests
that uses a non-controllable duration activity? The fact that all of those tests use GrowBanana
was how this bug slipped by for so long.
...-driver/src/main/java/gov/nasa/jpl/aerie/scheduler/simulation/ResumableSimulationDriver.java
Outdated
Show resolved
Hide resolved
...-driver/src/main/java/gov/nasa/jpl/aerie/scheduler/simulation/ResumableSimulationDriver.java
Outdated
Show resolved
Hide resolved
...-driver/src/main/java/gov/nasa/jpl/aerie/scheduler/simulation/ResumableSimulationDriver.java
Show resolved
Hide resolved
This allows to remember references to scheduled tasks and thus to fix the bug resulting from the taskid of an anchored task not to be saved in plannedDirectiveToTask because they were scheduled by the sim engine.
All other tests are with growbanana
7d51acd
to
6ebef0a
Compare
Good catch, I forgot this, I have updated the |
I'd like to point out that this PR is strictly removing code, which should be celebrated somehow :p |
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.
🎉
Description
Here is an example of how the issue has manifested:
The solution consists in replacing this anonymous task creation with a mechanism that lets the driver schedule dependent tasks as soon as their dependent is finishing. Handling task creation allows to maintaining references to task ids and solve the above issue.
Verification
A simple test that was not passing before has been added.
Documentation
N/A
Future work
N/A