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
We noticed that even though there is much budget and time left, all of running machines get terminated earlier. They are terminated as soon as the last job is assigned to a VM. They should be terminated when they are finished with running jobs, not when all jobs are assigned.
Unexpected termination of VMs towards the end of simulation is also caused by terminating machines based on their utilisation (SimpleUtilizationBasedProvisioner). When there are no new tasks to execute, utilisation is low and machines get terminated, but they are terminated randomly (those which are completing their full cycle are terminated first), not those which are idle. So as a result busy machines get terminated. This could be fixed by introducing a notion of knowledge why machines are idle (because there are no more tasks) and terminate those idle then (not those completing their cycle), but this is a change in current algorithm logic and not a coding bug like these fixed by PR.
Since it is a simple provisioner then this is probably something that we could live with.
FYI @malawski
There is a bug when it comes to terminating VMs.
We noticed that even though there is much budget and time left, all of running machines get terminated earlier. They are terminated as soon as the last job is assigned to a VM. They should be terminated when they are finished with running jobs, not when all jobs are assigned.
It can be seen in the simulation log here: https://gist.github.com/aciepiela/2318027b3435f8b0dacd4756c43f2031
Last job is assigned at 68330 and all VMs get terminated at 68390 so as soon as the job got assigned (there is 60 deprovisioningDelay)
It affects all Dynamic Algorithms. Static ones are fine.
The text was updated successfully, but these errors were encountered: