- make sure completed tasks have expicitly set completion time even when they never got a chance to run so that it can be evaluated for retention later.
| | |
| | | * |
| | | * @param completionTime The completion time to use for this task. |
| | | */ |
| | | private void setCompletionTime(long completionTime) |
| | | protected void setCompletionTime(long completionTime) |
| | | { |
| | | // We only need to grab the entry-level lock if we don't already hold the |
| | | // broader scheduler lock. |
| | |
| | | { |
| | | completedTasks.add(completedTask); |
| | | runningTasks.remove(completedTask); |
| | | |
| | | // If the task never ran set its completion |
| | | // time here explicitly so that it can be |
| | | // correctly evaluated for retention later. |
| | | if (completedTask.getCompletionTime() == -1) |
| | | { |
| | | completedTask.setCompletionTime(TimeThread.getTime()); |
| | | } |
| | | } |
| | | finally |
| | | { |