UIMA AS aggregate may hang when one of its primitive delgates fails during 
initialization
-----------------------------------------------------------------------------------------

                 Key: UIMA-1743
                 URL: https://issues.apache.org/jira/browse/UIMA-1743
             Project: UIMA
          Issue Type: Bug
          Components: Async Scaleout
    Affects Versions: 2.3AS
            Reporter: Jerry Cwiklik
            Assignee: Jerry Cwiklik


There is a race condition in UIMA AS that may lead to a hang while trying to 
stop an aggregate service with multiple primitive delegates. If one of the 
delegates fails during initialization and the DD says to terminate, the 
aggregate sends STOP event to each delegate to force clean shutdown. When a 
primitive is instantiating AE via produceAnalysisEngine() call and the STOP 
comes on another thread, the state of the service is changed to stopped. When 
the AE is finally initialized and produceAnalysisEngine() returns, the code 
does not check for service status and proceeds to call postInitialize() which 
spins a cleanup thread and marks the service as initialized successfully. There 
are two problems:
1) Primitive service doesnt check if it has been stopped after 
produceAnalysisEngine()  returns
2) In postInitialize(), the primitive service always starts a cleanup thread no 
matter what the status of the service is. This cleanup thread is never stopped 
and leads to a hang.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to