Rupert Westenthaler created STANBOL-651:
-------------------------------------------

             Summary: EventJobManager does not finish if an Engine fails that 
is not the last Engine in the EnhancementChain
                 Key: STANBOL-651
                 URL: https://issues.apache.org/jira/browse/STANBOL-651
             Project: Stanbol
          Issue Type: Bug
          Components: Enhancer
    Affects Versions: 0.9.0-incubating
            Reporter: Rupert Westenthaler
            Assignee: Rupert Westenthaler
             Fix For: enhancer-0.10.0-incubating


The EventJobManager does not complete an EnhancementJob if the following 
Situation occurs

* An EnhancementEngine fails
* The failed engine is not the last on in the EnhancementChain
* No other engines are executed in parallel

The reason for that is the the EnhancementJobHander (asyc execution using 
osgi.service.event framework) needs to notify the  EventJobManagerImpl if an 
EnhancementJob completes. However in the above situation this does not occur 
and because of the the EventJobManagerImpl waits "forever" for the completion 
of the job - similar to a deadlock.

To solve this the EnhancementJob#isFinished() needs to be adopted to correctly 
report an Job as "finished" if EnhancementJob#isFailed() == true and not other 
engines are executed in parallel.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to