Callers of the pending assignments on the bucket: a replaced wait keeps its condition; one read of the key through assign (issue 1108)
A wait that ended unmade and whose condition nobody answered is carried by the wait that replaces it, so the operator is never left without the condition for a module still not on its machine, and taking it back, its condition and the orphan sweep read it there. The condition id stays node.module.<id> with the string id. clearOrphaned says a taken-back wait too. TestAnAssignmentWaitingForItsBuildIsOneKeyOfTheAssignmentsBucket enters through the assign verb and reads the key before and after the build's outcome.
This commit is contained in:
@@ -225,6 +225,10 @@ type Pending struct {
|
||||
Raised *time.Time `json:"raised,omitempty"`
|
||||
Acknowledged *time.Time `json:"acknowledged,omitempty"`
|
||||
Cleared *time.Time `json:"cleared,omitempty"`
|
||||
// Earlier are the waits of this key that ended unmade and were replaced by this one before their condition was answered
|
||||
// (taken back or cleared): each stays, with its own marks, so a replaced wait never leaves the operator without the
|
||||
// condition it raised or was to raise. Dropped once answered.
|
||||
Earlier []Pending `json:"earlier,omitempty"`
|
||||
}
|
||||
|
||||
// Open says the assignment is still to be made.
|
||||
|
||||
Reference in New Issue
Block a user