Author: kwright
Date: Tue Dec 23 12:20:30 2014
New Revision: 1647562
URL: http://svn.apache.org/r1647562
Log:
Reorganize job reset thread to be sure that doc reprioritization is actually
done
Modified:
manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/JobResetThread.java
Modified:
manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/JobResetThread.java
URL:
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/JobResetThread.java?rev=1647562&r1=1647561&r2=1647562&view=diff
==============================================================================
---
manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/JobResetThread.java
(original)
+++
manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/JobResetThread.java
Tue Dec 23 12:20:30 2014
@@ -70,6 +70,25 @@ public class JobResetThread extends Thre
ArrayList jobStops = new ArrayList();
jobManager.finishJobStops(currentTime,jobStops);
+ ArrayList jobResumes = new ArrayList();
+ jobManager.finishJobResumes(currentTime,jobResumes);
+ ArrayList jobCompletions = new ArrayList();
+ jobManager.resetJobs(currentTime,jobCompletions);
+
+ // If there were any job aborts, we must reprioritize all active
documents, since we've done something
+ // not predicted by the algorithm that assigned those priorities.
This is, of course, quite expensive,
+ // but it cannot be helped (at least, I cannot find a way to avoid
it).
+ //
+ if (jobStops.size() > 0 || jobResumes.size() > 0)
+ {
+ Logging.threads.debug("Job reset thread reprioritizing
documents...");
+
+ ManifoldCF.resetAllDocumentPriorities(threadContext,processID);
+
+ Logging.threads.debug("Job reset thread done reprioritizing
documents.");
+
+ }
+
int k = 0;
while (k < jobStops.size())
{
@@ -81,8 +100,6 @@ public class JobResetThread extends Thre
doStopNotifications(desc,notificationManager,notificationPool);
}
- ArrayList jobResumes = new ArrayList();
- jobManager.finishJobResumes(currentTime,jobResumes);
k = 0;
while (k < jobResumes.size())
{
@@ -92,8 +109,6 @@ public class JobResetThread extends Thre
desc.getID().toString()+"("+desc.getDescription()+")",null,null,null);
}
- ArrayList jobCompletions = new ArrayList();
- jobManager.resetJobs(currentTime,jobCompletions);
k = 0;
while (k < jobCompletions.size())
{
@@ -105,21 +120,7 @@ public class JobResetThread extends Thre
doEndNotifications(desc,notificationManager,notificationPool);
}
- // If there were any job aborts, we must reprioritize all active
documents, since we've done something
- // not predicted by the algorithm that assigned those priorities.
This is, of course, quite expensive,
- // but it cannot be helped (at least, I cannot find a way to avoid
it).
- //
- if (jobStops.size() > 0 || jobResumes.size() > 0)
- {
- Logging.threads.debug("Job reset thread reprioritizing
documents...");
-
- ManifoldCF.resetAllDocumentPriorities(threadContext,processID);
-
- Logging.threads.debug("Job reset thread done reprioritizing
documents.");
-
- }
- else
- ManifoldCF.sleep(10000L);
+ ManifoldCF.sleep(10000L);
}
catch (ManifoldCFException e)
{