From fcd7a0cb3d2ba59aac69bc9492f0824891fa47a6 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 17 Sep 2010 22:54:59 +0000
Subject: [PATCH] Make sure completed tasks retention limit is respected upon server restarts.

---
 opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

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 061e275..d230e19 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
@@ -1170,7 +1170,19 @@
               Task task = entryToScheduledTask(entry, null);
               if (TaskState.isDone(task.getTaskState()))
               {
-                completedTasks.add(task);
+                String id = task.getTaskID();
+                if (tasks.containsKey(id))
+                {
+                  Message message =
+                      WARN_TASKSCHED_DUPLICATE_TASK_ID.get(
+                      String.valueOf(id));
+                  logError(message);
+                }
+                else
+                {
+                  completedTasks.add(task);
+                  tasks.put(id, task);
+                }
               }
               else
               {

--
Gitblit v1.10.0