[UIMA-AS] fix potential thread safety issue with flow controller code
---------------------------------------------------------------------

                 Key: UIMA-1149
                 URL: https://issues.apache.org/jira/browse/UIMA-1149
             Project: UIMA
          Issue Type: Bug
          Components: Async Scaleout
    Affects Versions: 2.2.2AS
            Reporter: Marshall Schor
            Priority: Minor


The general "contract" regarding threading for user-written UIMA components is 
that components do not have to be written to be thread-safe, or, more 
precisely, the framework guarantees it will not call an instance of a 
user-written component class on multiple threads at the same time.  See 
http://incubator.apache.org/uima/downloads/releaseDocs/2.2.2-incubating/docs/html/tutorials_and_users_guides/tutorials_and_users_guides.html#ugr.tug.aae.contract_for_annotator_methods

This is intended to make writing UIMA components by our user community easier, 
and to eliminate many hard-to-diagnose issues that could occur otherwise.

The FlowController main object class, the one that is specified in the custom 
flow control specification for an aggregate, in UIMA-AS, can be (we think, but 
to be investigated :-) ) be called on multiple threads at the same time, in the 
current implementation.  This Jira is to fix this, by synchronizing on the flow 
controller object so that users don't have to write thread safe implementations 
of this class.

Also, the docs in the above referenced manual should be updated to include the 
flow controller object in the set of objects where the framework guarantees 
that instances of this object will not be called on multiple threads at the 
same time.

-- 
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