I have a set of annotators bundled as an aggregate AE and configured in a CPE. It runs fine with a single thread, but deadlocked with 2 or more threads. The AE was developed without any consideration of thread-safety. I am trying to find out the possible causes of the deadlocks, and hope to get answers to the following questions from this community:
1. When running CPE with multiple threads (e.g. multiple pipelines), does each thread instantiate its own annotator objects or AE instance, or do all threads share the same instances? If the former is true, I think I don't have to worry about changing each of the annotators to make the thread-safe. 2. What's the relationship between the CAS Pool Size and the number of threads? The document indicates that the number of the processing pipelines should be equal to or greater than CAS pool size. I would think the opposite should be true. In one of the examples bundled with the UIMA-2.2.2 distribution, the pool size was set to 2 while the number of pipes was set to 1. Any info and suggestions are highly appreciated! Nick This communication, along with any attachments, is covered by federal and state law governing electronic communications and may contain company proprietary and legally privileged information. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, use or copying of this message is strictly prohibited. If you have received this in error, please reply immediately to the sender and delete this message. Thank you.
