From 0a9ab35870bcff8f8bfc11404d80bc6045be63b1 Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Fri, 19 Dec 2008 18:49:48 +0000
Subject: [PATCH] - plug issues 3562/3670

---
 opendj-sdk/opends/src/server/org/opends/server/backends/task/TaskScheduler.java |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 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 6c30a95..e22b65a 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
@@ -1986,7 +1986,6 @@
       throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message);
     }
 
-
     // Try to load the specified class.
     Class<?> taskClass;
     try
@@ -2007,7 +2006,6 @@
                                    message);
     }
 
-
     // Instantiate the class as a task.
     Task task;
     try
@@ -2027,7 +2025,6 @@
                                    message);
     }
 
-
     // Perform the necessary internal and external initialization for the task.
     try
     {
@@ -2053,10 +2050,14 @@
                                    message);
     }
 
-
     task.setOperation(operation);
-    task.initializeTask();
+
+    // Avoid task specific initialization for completed tasks.
+    if (!TaskState.isDone(task.getTaskState())) {
+      task.initializeTask();
+    }
     task.setOperation(null);
+
     return task;
   }
 

--
Gitblit v1.10.0