You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2015/04/26 12:27:32 UTC
svn commit: r1676094 - in /manifoldcf/trunk: CHANGES.txt
framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobManager.java
Author: kwright
Date: Sun Apr 26 10:27:32 2015
New Revision: 1676094
URL: http://svn.apache.org/r1676094
Log:
Fix for CONNECTORS-1191
Modified:
manifoldcf/trunk/CHANGES.txt
manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobManager.java
Modified: manifoldcf/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1676094&r1=1676093&r2=1676094&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Sun Apr 26 10:27:32 2015
@@ -6,6 +6,11 @@ $Id$
======================= Release 2.1 =====================
+CONNECTORS-1191: Unexpected job status 34, due to a race condition.
+Jobs shutting down and being aborted at the same time could wind up
+in a state where repeated exceptions would be thrown.
+(Arcadius Ahouansou, Karl Wright)
+
CONNECTORS-1190: Broken dependencies in solr connector maven build
caused tests to fail under maven.
(Piergiorgio Lucidi, Karl Wright)
Modified: manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobManager.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobManager.java?rev=1676094&r1=1676093&r2=1676094&view=diff
==============================================================================
--- manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobManager.java (original)
+++ manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobManager.java Sun Apr 26 10:27:32 2015
@@ -39,7 +39,6 @@ public class JobManager implements IJobM
protected static final String cleanStufferLock = "_CLEANSTUFFER_";
protected static final String jobStopLock = "_JOBSTOP_";
protected static final String jobResumeLock = "_JOBRESUME_";
- protected static final String jobResetLock = "_JOBRESET_";
protected static final String hopLock = "_HOPLOCK_";
// Member variables
@@ -8339,7 +8338,9 @@ public class JobManager implements IJobM
{
// Alternative to using a write lock here: Put this in a transaction, with a "FOR UPDATE" on the first query.
// I think that still causes way too much locking, though, on some databases.
- lockManager.enterWriteLock(jobResetLock);
+ // Note well: This MUST be the same lock as for finishStopJobs, since ABORTINGSHUTTINGDOWN is handled
+ // by one and SHUTTINGDOWN is handled by the other. CONNECTORS-1191.
+ lockManager.enterWriteLock(jobStopLock);
try
{
// Query for all jobs that fulfill the criteria
@@ -8417,7 +8418,7 @@ public class JobManager implements IJobM
}
finally
{
- lockManager.leaveWriteLock(jobResetLock);
+ lockManager.leaveWriteLock(jobStopLock);
}
}