Uploaded image for project: 'Stanbol (Retired)'
  1. Stanbol (Retired)
  2. STANBOL-651

EventJobManager does not finish if an Engine fails that is not the last Engine in the EnhancementChain

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.9.0-incubating
    • enhancer-0.10.0
    • Enhancer
    • None

    Description

      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.

      Attachments

        Activity

          People

            rwesten Rupert Westenthaler
            rwesten Rupert Westenthaler
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: