You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Christine Engelmann <ch...@gmx.net> on 2012/07/31 21:22:35 UTC

Problem with StatusCallBackListener

Hi,

I seem to have some issues with the batchProcessComplete()-method in the StatusCallBackListener of which I'm using an implementation in conjunction with a cpe. How and where do I set the corresponding batch size? Is this done in the chekpoint element of the cpe configuration or somewhere else? It seems to me that this method is never called by the system (as opposed to e.g. collectionProcessComplete()).

Regards,
Christine

Re: Problem with StatusCallBackListener

Posted by Christine Engelmann <ch...@gmx.net>.
Hi Jerry,

thanks a lot for the information. I already suspected that the listener's batchProcessComplete() is never called, but it's good to get some clarification on that. I guess the easiest way is really to do batch managing via entityProcessComplete() and this is actually what I did in the end.

Thanks again,
Christine


On Tue, Aug 7, 2012 at  12:14, Jaroslaw Cwiklik <ui...@gmail.com> wrote:

> Christine, I realized that I need to make one more clarification regarding
> the batchProcessComplete(). The listener's batchProcessComplete() is*not*
> called when CasProcessor <Checkpoint ...>  batchSize is reached. The CPM
> calls, AnalysisEngine batchProcessComplete method instead. This allows the
> AE to do special processing.
> 
> It seems to me that the StatusCallbackListener.batchProcessComplete()
> should be deprecated since it is never called.
> 
> Jerry C
> 
> 
> On Tue, Aug 7, 2012 at 11:32 AM, Jaroslaw Cwiklik <ui...@gmail.com>
> wrote:
> 
> > Christine, I took another look at this and tested the code. You are
> right,
> > the listener's batchProcessComplete() is not called no matter what the
> > batchSize is set to.
> >
> > I think the real intent for the <Checkpoint...> element within
> > <CpeConfig...> is to define a checkpoint file and frequency of
> checkpoints.
> > The CPE saves its
> > progress i(stats) in the file for possible recovery from a failure.
> There
> > is a brief description of this in UIMA reference guide at the bottom of
> > section 3.7:
> >
> >
> >
> http://uima.apache.org/d/uimaj-2.3.1/references.html#ugr.ref.xml.cpe_descriptor.descriptor.operational_parameters
> >
> >
> > Since your listener entityProcessComplete() is called you can manage
> > batching yourself. This method is guaranteed to be called by the CPM.
> >
> > The real intent behind the batchProcessCompleteI() is to improve
> > performance of CasProcessor(s), especially a CasConsumer. You can set up
> > <Checkpoint ...>
> > element for each CasProcessor in the Cpe descriptor and define
> batchSize.
> > The CPM will (and it does) call batchProcessComplete in this case. I ran
> a
> > quick test
> > to make sure and can say that it does work.
> >
> > Perhaps we need to document this better to make it clearer but at this
> > point I think the CPM is working as designed. Feel free to disagree. :)
> >
> > Jerry
> >
> >
> >
> > On Thu, Aug 2, 2012 at 3:20 AM, Christine Engelmann
> <chr.engelmann@gmx.net
> > > wrote:
> >
> >> Hi,
> >>
> >> thank you. I have already tried setting the batch attribute of the
> >> <checkpoint> element, though, and the method is still not called.
> That's
> >> why I'm unsure as to how this function is actually triggered.
> >>
> >> Christine
> >>
> >>
> >> On Wed, 1 Aug, 2012 at 4:58 PM, Jaroslow Cwiklik <ui...@gmail.com>
> >> wrote:
> >>
> >> > If I recall, you need to modify <checkpoint> element and set "batch"
> >> > attribute to enable this
> >> > function. I think, by default this method is not called since batch=0
> >> > (default).
> >> >
> >> > JC
> >> >
> >> > On Tue, Jul 31, 2012 at 3:22 PM, Christine Engelmann
> >> > <ch...@gmx.net>wrote:
> >> >
> >> > > Hi,
> >> > >
> >> > > I seem to have some issues with the batchProcessComplete()-method
> in
> >> the
> >> > > StatusCallBackListener of which I'm using an implementation in
> >> > conjunction
> >> > > with a cpe. How and where do I set the corresponding batch size? Is
> >> this
> >> > > done in the chekpoint element of the cpe configuration or somewhere
> >> > else?
> >> > > It seems to me that this method is never called by the system (as
> >> > opposed
> >> > > to e.g. collectionProcessComplete()).
> >> > >
> >> > > Regards,
> >> > > Christine
> >> > >
> >>
> >
> >

Re: Problem with StatusCallBackListener

Posted by Jaroslaw Cwiklik <ui...@gmail.com>.
Christine, I realized that I need to make one more clarification regarding
the batchProcessComplete(). The listener's batchProcessComplete() is*not*
called when CasProcessor <Checkpoint ...>  batchSize is reached. The CPM
calls, AnalysisEngine batchProcessComplete method instead. This allows the
AE to do special processing.

It seems to me that the StatusCallbackListener.batchProcessComplete()
should be deprecated since it is never called.

Jerry C


On Tue, Aug 7, 2012 at 11:32 AM, Jaroslaw Cwiklik <ui...@gmail.com> wrote:

> Christine, I took another look at this and tested the code. You are right,
> the listener's batchProcessComplete() is not called no matter what the
> batchSize is set to.
>
> I think the real intent for the <Checkpoint...> element within
> <CpeConfig...> is to define a checkpoint file and frequency of checkpoints.
> The CPE saves its
> progress i(stats) in the file for possible recovery from a failure. There
> is a brief description of this in UIMA reference guide at the bottom of
> section 3.7:
>
>
> http://uima.apache.org/d/uimaj-2.3.1/references.html#ugr.ref.xml.cpe_descriptor.descriptor.operational_parameters
>
>
> Since your listener entityProcessComplete() is called you can manage
> batching yourself. This method is guaranteed to be called by the CPM.
>
> The real intent behind the batchProcessCompleteI() is to improve
> performance of CasProcessor(s), especially a CasConsumer. You can set up
> <Checkpoint ...>
> element for each CasProcessor in the Cpe descriptor and define batchSize.
> The CPM will (and it does) call batchProcessComplete in this case. I ran a
> quick test
> to make sure and can say that it does work.
>
> Perhaps we need to document this better to make it clearer but at this
> point I think the CPM is working as designed. Feel free to disagree. :)
>
> Jerry
>
>
>
> On Thu, Aug 2, 2012 at 3:20 AM, Christine Engelmann <chr.engelmann@gmx.net
> > wrote:
>
>> Hi,
>>
>> thank you. I have already tried setting the batch attribute of the
>> <checkpoint> element, though, and the method is still not called. That's
>> why I'm unsure as to how this function is actually triggered.
>>
>> Christine
>>
>>
>> On Wed, 1 Aug, 2012 at 4:58 PM, Jaroslow Cwiklik <ui...@gmail.com>
>> wrote:
>>
>> > If I recall, you need to modify <checkpoint> element and set "batch"
>> > attribute to enable this
>> > function. I think, by default this method is not called since batch=0
>> > (default).
>> >
>> > JC
>> >
>> > On Tue, Jul 31, 2012 at 3:22 PM, Christine Engelmann
>> > <ch...@gmx.net>wrote:
>> >
>> > > Hi,
>> > >
>> > > I seem to have some issues with the batchProcessComplete()-method in
>> the
>> > > StatusCallBackListener of which I'm using an implementation in
>> > conjunction
>> > > with a cpe. How and where do I set the corresponding batch size? Is
>> this
>> > > done in the chekpoint element of the cpe configuration or somewhere
>> > else?
>> > > It seems to me that this method is never called by the system (as
>> > opposed
>> > > to e.g. collectionProcessComplete()).
>> > >
>> > > Regards,
>> > > Christine
>> > >
>>
>
>

Re: Problem with StatusCallBackListener

Posted by Jaroslaw Cwiklik <ui...@gmail.com>.
Christine, I took another look at this and tested the code. You are right,
the listener's batchProcessComplete() is not called no matter what the
batchSize is set to.

I think the real intent for the <Checkpoint...> element within
<CpeConfig...> is to define a checkpoint file and frequency of checkpoints.
The CPE saves its
progress i(stats) in the file for possible recovery from a failure. There
is a brief description of this in UIMA reference guide at the bottom of
section 3.7:

http://uima.apache.org/d/uimaj-2.3.1/references.html#ugr.ref.xml.cpe_descriptor.descriptor.operational_parameters


Since your listener entityProcessComplete() is called you can manage
batching yourself. This method is guaranteed to be called by the CPM.

The real intent behind the batchProcessCompleteI() is to improve
performance of CasProcessor(s), especially a CasConsumer. You can set up
<Checkpoint ...>
element for each CasProcessor in the Cpe descriptor and define batchSize.
The CPM will (and it does) call batchProcessComplete in this case. I ran a
quick test
to make sure and can say that it does work.

Perhaps we need to document this better to make it clearer but at this
point I think the CPM is working as designed. Feel free to disagree. :)

Jerry


On Thu, Aug 2, 2012 at 3:20 AM, Christine Engelmann
<ch...@gmx.net>wrote:

> Hi,
>
> thank you. I have already tried setting the batch attribute of the
> <checkpoint> element, though, and the method is still not called. That's
> why I'm unsure as to how this function is actually triggered.
>
> Christine
>
>
> On Wed, 1 Aug, 2012 at 4:58 PM, Jaroslow Cwiklik <ui...@gmail.com> wrote:
>
> > If I recall, you need to modify <checkpoint> element and set "batch"
> > attribute to enable this
> > function. I think, by default this method is not called since batch=0
> > (default).
> >
> > JC
> >
> > On Tue, Jul 31, 2012 at 3:22 PM, Christine Engelmann
> > <ch...@gmx.net>wrote:
> >
> > > Hi,
> > >
> > > I seem to have some issues with the batchProcessComplete()-method in
> the
> > > StatusCallBackListener of which I'm using an implementation in
> > conjunction
> > > with a cpe. How and where do I set the corresponding batch size? Is
> this
> > > done in the chekpoint element of the cpe configuration or somewhere
> > else?
> > > It seems to me that this method is never called by the system (as
> > opposed
> > > to e.g. collectionProcessComplete()).
> > >
> > > Regards,
> > > Christine
> > >
>

Re: Problem with StatusCallBackListener

Posted by Christine Engelmann <ch...@gmx.net>.
Hi,

thank you. I have already tried setting the batch attribute of the <checkpoint> element, though, and the method is still not called. That's why I'm unsure as to how this function is actually triggered.

Christine


On Wed, 1 Aug, 2012 at 4:58 PM, Jaroslow Cwiklik <ui...@gmail.com> wrote:

> If I recall, you need to modify <checkpoint> element and set "batch"
> attribute to enable this
> function. I think, by default this method is not called since batch=0
> (default).
> 
> JC
> 
> On Tue, Jul 31, 2012 at 3:22 PM, Christine Engelmann
> <ch...@gmx.net>wrote:
> 
> > Hi,
> >
> > I seem to have some issues with the batchProcessComplete()-method in the
> > StatusCallBackListener of which I'm using an implementation in
> conjunction
> > with a cpe. How and where do I set the corresponding batch size? Is this
> > done in the chekpoint element of the cpe configuration or somewhere
> else?
> > It seems to me that this method is never called by the system (as
> opposed
> > to e.g. collectionProcessComplete()).
> >
> > Regards,
> > Christine
> >

Re: Problem with StatusCallBackListener

Posted by Jaroslaw Cwiklik <ui...@gmail.com>.
If I recall, you need to modify <checkpoint> element and set "batch"
attribute to enable this
function. I think, by default this method is not called since batch=0
(default).

JC

On Tue, Jul 31, 2012 at 3:22 PM, Christine Engelmann
<ch...@gmx.net>wrote:

> Hi,
>
> I seem to have some issues with the batchProcessComplete()-method in the
> StatusCallBackListener of which I'm using an implementation in conjunction
> with a cpe. How and where do I set the corresponding batch size? Is this
> done in the chekpoint element of the cpe configuration or somewhere else?
> It seems to me that this method is never called by the system (as opposed
> to e.g. collectionProcessComplete()).
>
> Regards,
> Christine
>