I have 3 UIMA-AS annotators in a parallel step. None of the annotators are modifying anything that already exists in the CAS. Most times things work well, but I randomly get a "preexisting FS encountered but not allowed exception".
Looking at the UIMA logs (setting the log level for org.apache.uima to ALL) it becomes clear what's happening:
--> request goes to annotator 1
--> request goes to annotator 2
<-- response received from annotator 1
--> request goes to annotator 3 (CAS appears to contain information received from annotator 1)
<-- response received from annotator 3 – bogus "preexisting FS but not allowed" exception is thrown
Workaround that seems to work (but which I can't really depend on) is to order the parallel steps from slower to faster