You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Aaron Kaplan <aa...@xrce.xerox.com> on 2008/10/02 21:48:33 UTC

Order of CASes after multiplier

I can't find this documented anywhere, but I observe empirically that
components downstream of a CAS multiplier receive all of the new CASes
generated by that multiplier before receiving the original CAS that was
the input to the multiplier.  Can I rely on that order?

-Aaron

Re: Order of CASes after multiplier

Posted by Eddie Epstein <ea...@gmail.com>.
Hi Aaron,

Yes, for a synchronous UIMA aggregate the parent CAS is released only after
all its children are released.

When deployed asynchronously in UIMA AS, the parent CAS is released from the
CM when hasNext returns false, and is then available to be routed. If the
parent CAS comes into an async aggregate on a process call (that it, it is
not itself generated by a CM inside), it will not be returned until all of
its children CAS have been released; this allows an error on a child CAS to
[optionally] generate an error on its parent CAS.

Eddie

On Thu, Oct 2, 2008 at 3:48 PM, Aaron Kaplan <aa...@xrce.xerox.com>wrote:

> I can't find this documented anywhere, but I observe empirically that
> components downstream of a CAS multiplier receive all of the new CASes
> generated by that multiplier before receiving the original CAS that was
> the input to the multiplier.  Can I rely on that order?
>
> -Aaron
>