This repository has been archived by the owner on May 25, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 264
Statement unevict method doesn't update nodeInfo.Releasing field as expected #907
Comments
yodarshafrir1
changed the title
Statement Discard method doesn't update nodeInfo.Releasing field as expected
Statement unevict method doesn't update nodeInfo.Releasing field as expected
Nov 17, 2019
is there anyway to trigger this case by workload? |
This happened to me after changing the order of the actions, so When
A pending task that fits the By the way, reading the comments in the code suggests that it was intended to update the task and not add a task.
|
thanks very much for your contribution :) |
Issue was solved in: #912 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Is this a BUG REPORT or FEATURE REQUEST?:
What happened:
unevict
method in file:statement.go
doesn't reset the fieldReleasing
of the task's nodeInfo to the expected value (the value ofReleasing
which was changed byevict
method will remain as if the task was released from the node).This means that when a task is running on a node,
evict
will be called and thenunevict
will be called, the Releasing value of the current nodeInfo will be as if the task was evicted from the node.This happens because
unevict
callsAddTask
. In file:node_info.go
AddTask
there's a condition to check if the task exists on this node and if so we return an error and don't set theReleasing
value to the right value.Instead the method
unevict
in file:statement.go
should callUpdateTask
(this is the fix). InUpdateTask
theReleasing
value will be updated as if the task was never evicted from the node.What you expected to happen:
The
Releasing
value of the node should be as if the task was never evicted from its node.How to reproduce it (as minimally and precisely as possible):
Create a use case where
preempt
evicts a task but fails to pipeline a task, thenstatement.Discard
will be called.Print the value
Releasing
field of the nodeinfo and see that it has a wrong value.The text was updated successfully, but these errors were encountered: