You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Neal R Lewis <nr...@us.ibm.com> on 2013/11/17 19:03:42 UTC

DUCC Work Items and Send To Last

I'm a having trouble visualizing what's happening with Send To Last and 
Work Items when there is a Cas Multiplier in a pipeline controlled by the 
DUCC Flow Controller, and I'm hoping to get some clarification. 


Let's assume a pipeline like that in the Sample that contains a CR as the 
Job Driver, and the JP contains a  CM, AE, and CC. 

If I understand correctly, the CR's getNext() returns a single Workitem 
CAS - a CAS tagged with the Workitem FS and references to data.  The Work 
Item CAS is sent the the JP, where the CM creates multiple CASes based on 
these references and sends them down the pipeline.  Normally, the WorkItem 
CAS would not continue down the pipeline after the CM (depending on 
configurations). The AE calls process() on each of the new CASes created 
by the CM, sending them to the CC, which also calls process() on each of 
these fragments. 

My question is, if SendToLast is true, what CAS does the CC call process() 
on?  Does it receive the workItem CAS and the CASes created by the CM as a 
single CAS?   Or, does it receive the multiple CASes from the CM, and call 
process() on each of those, and also receive the Workitem ( maybe before 
receiving the fragments)? 

Thanks for any clarification! 

Neal 

Re: DUCC Work Items and Send To Last

Posted by Neal R Lewis <nr...@us.ibm.com>.
Thanks Eddie,  that clears it up for me. 




From:   Eddie Epstein <ea...@gmail.com>
To:     user@uima.apache.org
Date:   11/17/2013 06:24 PM
Subject:        Re: DUCC Work Items and Send To Last



On Sun, Nov 17, 2013 at 1:03 PM, Neal R Lewis <nr...@us.ibm.com> wrote:

> Let's assume a pipeline like that in the Sample that contains a CR as 
the
> Job Driver, and the JP contains a  CM, AE, and CC.
>
> If I understand correctly, the CR's getNext() returns a single Workitem
> CAS - a CAS tagged with the Workitem FS and references to data.  The 
Work
> Item CAS is sent the the JP, where the CM creates multiple CASes based 
on
> these references and sends them down the pipeline.  Normally, the 
WorkItem
> CAS would not continue down the pipeline after the CM (depending on
> configurations). The AE calls process() on each of the new CASes created
> by the CM, sending them to the CC, which also calls process() on each of
> these fragments.
>

Correct description for *each and every* workItem CAS returned by the CR.


>
> My question is, if SendToLast is true, what CAS does the CC call 
process()
> on?  Does it receive the workItem CAS and the CASes created by the CM as 
a
> single CAS?   Or, does it receive the multiple CASes from the CM, and 
call
> process() on each of those, and also receive the Workitem ( maybe before
> receiving the fragments)?
>

Without SendToLast the workItem CAS goes to the CM, and then after all
processing of child CASes has completed it is returned to the JobDriver.
With SendToLast = true, after all processing on child CASes has completed
the workItem CAS is sent to the CC and then returned.

Eddie


Re: DUCC Work Items and Send To Last

Posted by Eddie Epstein <ea...@gmail.com>.
On Sun, Nov 17, 2013 at 1:03 PM, Neal R Lewis <nr...@us.ibm.com> wrote:

> Let's assume a pipeline like that in the Sample that contains a CR as the
> Job Driver, and the JP contains a  CM, AE, and CC.
>
> If I understand correctly, the CR's getNext() returns a single Workitem
> CAS - a CAS tagged with the Workitem FS and references to data.  The Work
> Item CAS is sent the the JP, where the CM creates multiple CASes based on
> these references and sends them down the pipeline.  Normally, the WorkItem
> CAS would not continue down the pipeline after the CM (depending on
> configurations). The AE calls process() on each of the new CASes created
> by the CM, sending them to the CC, which also calls process() on each of
> these fragments.
>

Correct description for *each and every* workItem CAS returned by the CR.


>
> My question is, if SendToLast is true, what CAS does the CC call process()
> on?  Does it receive the workItem CAS and the CASes created by the CM as a
> single CAS?   Or, does it receive the multiple CASes from the CM, and call
> process() on each of those, and also receive the Workitem ( maybe before
> receiving the fragments)?
>

Without SendToLast the workItem CAS goes to the CM, and then after all
processing of child CASes has completed it is returned to the JobDriver.
With SendToLast = true, after all processing on child CASes has completed
the workItem CAS is sent to the CC and then returned.

Eddie