Conversation
Record allocation futures for retried tasks in `PendingAllocationManager` to ensure proper tracking and cancellation.
|
@trafalgarw It's unclear what this is supposed to achieve. Does it fix an issue with the current code? Does it add a feature? |
|
The submitted task is not recorded. if created a new plant model, it will still run in kernel executor. Its client (vehicle controller) cannot be recycled by JVM. So, record allocation futures for retried tasks in /**
* Moves all waiting allocations back into the incoming queue so they can be rechecked.
*/
private void scheduleRetryWaitingAllocations() {
for (AllocatorCommand.Allocate allocate : deferredAllocations) {
kernelExecutor.submit(
new AllocatorTask(
reservationPool,
deferredAllocations,
allocationAdvisor,
kernelExecutor,
globalSyncObject,
allocate
)
);
}
deferredAllocations.clear();
} |
|
@trafalgarw Unfortunately, I still do not see where there would be an issue in our current code. When a new plant model is loaded in the kernel, the kernel briefly switches from
In |
Record allocation futures for retried tasks in
PendingAllocationManagerto ensure proper tracking and cancellation.Description
...
Checklist
gradlew clean buildsucceeds with the changes made, and without unavoidable compiler/toolchain warnings.(The commits in the PR will be squashed into one commit on the base branch, and your proposed message is intended to be used for this commit. See below for a template you can use for the message. See this blog post and this one for more on well-formed commit messages.)
Proposed squash commit message