From bbec92b2d45624dd54c8611b4a64202b21d7fdba Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Thu, 23 Apr 2009 16:50:56 +0000
Subject: [PATCH] - 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.

---
 opendj-sdk/opends/src/server/org/opends/server/backends/task/Task.java          |    2 +-
 opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java |    8 ++++++++
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/task/Task.java b/opendj-sdk/opends/src/server/org/opends/server/backends/task/Task.java
index fa02fd2..623639e 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/task/Task.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/task/Task.java
@@ -817,7 +817,7 @@
    *
    * @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.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java b/opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
index 225b693..c6cfaac 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java
@@ -694,6 +694,14 @@
     {
       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
     {

--
Gitblit v1.10.0