You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2013/03/19 08:35:24 UTC
svn commit: r1458167 -
/stanbol/trunk/enhancer/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EnhancementJobHandler.java
Author: rwesten
Date: Tue Mar 19 07:35:23 2013
New Revision: 1458167
URL: http://svn.apache.org/r1458167
Log:
fix for STANBOL-985 - the EventJobManager now does no longer fail if the execution of the chain finishes before the main threads starts waiting for the completion
Modified:
stanbol/trunk/enhancer/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EnhancementJobHandler.java
Modified: stanbol/trunk/enhancer/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EnhancementJobHandler.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancer/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EnhancementJobHandler.java?rev=1458167&r1=1458166&r2=1458167&view=diff
==============================================================================
--- stanbol/trunk/enhancer/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EnhancementJobHandler.java (original)
+++ stanbol/trunk/enhancer/jobmanager/event/src/main/java/org/apache/stanbol/enhancer/jobmanager/event/impl/EnhancementJobHandler.java Tue Mar 19 07:35:23 2013
@@ -421,33 +421,27 @@ public class EnhancementJobHandler imple
}
public boolean waitForCompletion(int maxEnhancementJobWaitTime) {
- boolean acquire = false;
+ boolean finished = false;
if(semaphore.availablePermits() < 1){
// The only permit is taken by the EnhancementJobHander
try {
- acquire = semaphore.tryAcquire(1,
+ finished = semaphore.tryAcquire(1,
Math.max(MIN_WAIT_TIME, maxEnhancementJobWaitTime),TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
//interupted
- acquire = false;
+ finished = false;
}
} else if(!hasCompleted()){
- int wait = Math.max(100, maxEnhancementJobWaitTime/10);
- log.warn("Unexpected permit available for Semaphore of "
- + "EnhancementJob of ContentItem {}. Fallback to wait({})"
- + "for detecting if Job has finished. While the fallback "
- + "should ensure correct Enhancement results this indicates a "
- + "Bug in the EventHobManager. Please feel free to report "
- + "This on dev@stanbol.apache.org or the Apache Stanbol "
- + "Issue Tracker.",enhancementJob.getContentItem().getUri(),wait);
- try {
- Thread.currentThread().wait(wait);
- } catch (InterruptedException e) {
- //interupted
- }
- acquire = true;
- }// else completed
- return acquire;
+ log.error("Unexpected {} permit(s) (expected = 0) available for "
+ + "Semaphore of EnhancementJob of ContentItem {}. Please "
+ + "report this on dev@stanbol.apache.org and/or the Apache "
+ + "Stanbol Issue Tracker.", semaphore.availablePermits(),
+ enhancementJob.getContentItem().getUri());
+ finished = false;
+ } else { //already completed
+ finished = true;
+ }
+ return finished;
}
}