You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.
The API allows you to mix in both VariableResources and FixedResources into the same task when I think the type checker or compiler should forbid the combination.
When the above task is scheduled on its own, the naive scheduler will call the pick resources function and the task will behave as a variable resource task. Counter-intuitively, it will be scheduled under the fixed resources default when wrapped in a pipechain because we partition tasks in a pipe chain based on whether they implement FixedResources or not.
There are four classes that override pickResources that mixin FixedResources so those tasks would have to change. It's possible other users are depending on being able to override that method as well.
I didn't see any easy way out on this one as introducing final would certainly break things. I'm cool leaving this issue open as a warning for anyone else that stumbles across this oddity!
The API allows you to mix in both
VariableResources
andFixedResources
into the same task when I think the type checker or compiler should forbid the combination.For example, this compiles:
When the above task is scheduled on its own, the naive scheduler will call the pick resources function and the task will behave as a variable resource task. Counter-intuitively, it will be scheduled under the fixed resources default when wrapped in a pipechain because we partition tasks in a pipe chain based on whether they implement
FixedResources
or not.That was an obvious example.
But here is one that bit me:
Because
MemoryDoublingRetry <: MemoryRetry <: FixedResources
.The text was updated successfully, but these errors were encountered: