[ 
https://issues.apache.org/jira/browse/UIMA-1149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jerry Cwiklik reopened UIMA-1149:
---------------------------------

      Assignee: Jerry Cwiklik

Synchronize access to FlowContainer next() method. This method executes user 
code that may not be thread safe

> [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
>            Assignee: Jerry Cwiklik
>            Priority: Minor
>             Fix For: 2.3AS
>
>         Attachments: uimaj-as-core-UIMA-1149-patch.txt
>
>
> 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