You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Daniel Truemper <tr...@neofonie.de> on 2009/10/21 17:50:06 UTC

UIMA-AS and a custom Flow Controller

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi list,

we are having a problem deploying our Aggregate Analysis Engine with
UIMA-AS.

The aggregate contains a custom flow controller together with a fixed
flow setting. For the flow controller a custom type has been introduced
that can be altered on any of the AEs in order to "stop" processing the CAS.

If we now delpoy this aggregate with "async=false", everything works
fine. We can send CASes to the aggregate and get the resulting CAS.

If we however deploy the aggregate with "async=true", the bypass
controller stops with the exception that the "BypassIndicator type has
been used in the Java Code but not declared in the XML".

The controller's descriptor does contain the type information! Can
anyone help out? Should we import the type somewhere else? Is this
possible at all with UIMA-AS? As far as I can see from the documentation
an AS aggregate can contain a flow controller, right?

Best,
Daniel

- --
- --------------------------------
Daniel Truemper
Softwareentwickler
Forschung und Entwicklung

neofonie
Technologieentwicklung und
Informationsmanagement GmbH
Robert-Koch-Platz 4
10115 Berlin
fon: +49.30 24627 511
fax: +49.30 24627 120
daniel.truemper@neofonie.de
http://www.neofonie.de

Handelsregister
Berlin-Charlottenburg: HRB 67460

Geschaeftsfuehrung
Helmut Hoffer von Ankershoffen
(Sprecher der Geschaeftsfuehrung)
Nurhan Yildirim
Uwe-Gernot Fasold

WeFind - Genau was Du suchst

Die erste Web 2.0 Suchmaschine jetzt auf http://www.wefind.de.
Unterwegs immer bestens informiert mit WeFind Mobile für iPhone und
jetzt auch mit WeFind Mobile für Android:
kostenloser Download im iTunes AppStore und im Android Market.
- --------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkrfLa4ACgkQ1hUkwIV3bIzr8gCeOkyNfuVviBMUtZoIfN4wOCd4
VVUAnR1j7AqKv6DDEAoYDTzWWC83eQ1D
=9b51
-----END PGP SIGNATURE-----

Re: UIMA-AS and a custom Flow Controller

Posted by Jaroslaw Cwiklik <ui...@gmail.com>.
Fixed under UIMA-1640


On Wed, Oct 28, 2009 at 11:00 AM, Jaroslaw Cwiklik <ui...@gmail.com> wrote:

> Yes, this is a bug. It will be addressed today.
>
> Thanks for finding this!
>
>
>
> On Wed, Oct 28, 2009 at 10:23 AM, Daniel Trümper <tr...@neofonie.de>wrote:
>
>>
>> > You found a workaround, but I wonder if there is still a bug in
>> > UIMA-AS here. Did your Flow Controller descriptor import the types
>> > that it needed, yet the Flow Controller still got an exception trying
>> > to access them?
>> Yes, the Flow Controller descriptor containes the types it needs, i.e.
>> imports the type system descriptor...
>>
>> > That shouldn't be the case.  It sounds like UIMA-AS
>> > is failing to add Flow Controllers' type definitions to the aggregate
>> > AE's CAS definition.  Jerry, do you think that is possible?
>> I have also thought that it might be a bug but I have to admit that I
>> don't know enough of the internals to determine if it is a bug or a feature?
>> :)
>>
>> Daniel
>>
>
>

Re: UIMA-AS and a custom Flow Controller

Posted by Jaroslaw Cwiklik <ui...@gmail.com>.
Yes, this is a bug. It will be addressed today.

Thanks for finding this!


On Wed, Oct 28, 2009 at 10:23 AM, Daniel Trümper <tr...@neofonie.de>wrote:

>
> > You found a workaround, but I wonder if there is still a bug in
> > UIMA-AS here. Did your Flow Controller descriptor import the types
> > that it needed, yet the Flow Controller still got an exception trying
> > to access them?
> Yes, the Flow Controller descriptor containes the types it needs, i.e.
> imports the type system descriptor...
>
> > That shouldn't be the case.  It sounds like UIMA-AS
> > is failing to add Flow Controllers' type definitions to the aggregate
> > AE's CAS definition.  Jerry, do you think that is possible?
> I have also thought that it might be a bug but I have to admit that I don't
> know enough of the internals to determine if it is a bug or a feature? :)
>
> Daniel
>

AW: UIMA-AS and a custom Flow Controller

Posted by Daniel Trümper <tr...@neofonie.de>.
> You found a workaround, but I wonder if there is still a bug in
> UIMA-AS here. Did your Flow Controller descriptor import the types
> that it needed, yet the Flow Controller still got an exception trying
> to access them?
Yes, the Flow Controller descriptor containes the types it needs, i.e. imports the type system descriptor...

> That shouldn't be the case.  It sounds like UIMA-AS
> is failing to add Flow Controllers' type definitions to the aggregate
> AE's CAS definition.  Jerry, do you think that is possible?
I have also thought that it might be a bug but I have to admit that I don't know enough of the internals to determine if it is a bug or a feature? :)

Daniel

Re: UIMA-AS and a custom Flow Controller

Posted by Adam Lally <al...@alum.rpi.edu>.
On Wed, Oct 28, 2009 at 6:31 AM, Daniel Trümper <tr...@neofonie.de> wrote:
> Hi again,
>
> after some days of testing and debugging I finally came up with the reason for my problem.
>
> This is the setup I have:
>
> 1. A simple Analysis Engine importing a typedescriptor
> 2. A Flow controller importing another typedescriptor.
> 3. An Aggregate AE importing both.
>
> You will notice, that there now is no AE using the flow controller's types. This is due to the fact that the aggregate in its original shape is more complex and I only used this setup to test the AS stuff. This again is the origin of my problem, that the type defined by the flow controller is absent if I am deploying the aggregate asynchronously. If I deploy the aggregate synchronously the CAS contains the flow controller's type.
>
> So the solution simply was to import the type in the AE descriptor. One remark or open question at this point is if it is intentional that in the async=false case the flow controller's type is imported in the CAS and in the async=true case it is not?
>
> Anyways, problem solved. Thanks for the feedback.

You found a workaround, but I wonder if there is still a bug in
UIMA-AS here. Did your Flow Controller descriptor import the types
that it needed, yet the Flow Controller still got an exception trying
to access them?  That shouldn't be the case.  It sounds like UIMA-AS
is failing to add Flow Controllers' type definitions to the aggregate
AE's CAS definition.  Jerry, do you think that is possible?
  -Adam

AW: UIMA-AS and a custom Flow Controller

Posted by Daniel Trümper <tr...@neofonie.de>.
Hi again,

after some days of testing and debugging I finally came up with the reason for my problem.

This is the setup I have:

1. A simple Analysis Engine importing a typedescriptor
2. A Flow controller importing another typedescriptor.
3. An Aggregate AE importing both.

You will notice, that there now is no AE using the flow controller's types. This is due to the fact that the aggregate in its original shape is more complex and I only used this setup to test the AS stuff. This again is the origin of my problem, that the type defined by the flow controller is absent if I am deploying the aggregate asynchronously. If I deploy the aggregate synchronously the CAS contains the flow controller's type.

So the solution simply was to import the type in the AE descriptor. One remark or open question at this point is if it is intentional that in the async=false case the flow controller's type is imported in the CAS and in the async=true case it is not?

Anyways, problem solved. Thanks for the feedback.
Daniel

- --------------------------------
Daniel Truemper
Softwareentwickler
Forschung und Entwicklung

neofonie
Technologieentwicklung und
Informationsmanagement GmbH
Robert-Koch-Platz 4
10115 Berlin
fon: +49.30 24627 511
fax: +49.30 24627 120
daniel.truemper@neofonie.de
http://www.neofonie.de

Handelsregister
Berlin-Charlottenburg: HRB 67460

Geschaeftsfuehrung
Helmut Hoffer von Ankershoffen
(Sprecher der Geschaeftsfuehrung)
Nurhan Yildirim
Uwe-Gernot Fasold

WeFind - Genau was Du suchst

Die erste Web 2.0 Suchmaschine jetzt auf http://www.wefind.de.
Unterwegs immer bestens informiert mit WeFind Mobile für iPhone und
jetzt auch mit WeFind Mobile für Android:
kostenloser Download im iTunes AppStore und im Android Market.

Re: UIMA-AS and a custom Flow Controller

Posted by Daniel Truemper <tr...@neofonie.de>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

> This may be related to a recent Jira issue:
> https://issues.apache.org/jira/browse/UIMA-1580.  A work-around may be
> to create one type system descriptor for all the types in your system,
> and import that type system into all the components.  (However, this may
> trigger the NPE mentioned in that other Jira).
Not sure but it might be a possibility. What we are observing is that if
we start the aggregate with "async=false", the bypass indicator type is
present in the cas. If we start with "async=true" it is not. All other
types however are the same.

> Besides setting async=true, are any of the delegates becoming remotely
> deployed services?
So far we have no other delegates in the deployment descriptor, i.e.
there are no other AEs running remotely.

> It might help diagnose things if you could post a smallish example of
> something which isn't working, with the exact descriptors being used.
I will try to create a basic example, but I am not able to do so before
tomorrow...

Thanks for any hints... ;)

Daniel

- --
- --------------------------------
Daniel Truemper
Softwareentwickler
Forschung und Entwicklung

neofonie
Technologieentwicklung und
Informationsmanagement GmbH
Robert-Koch-Platz 4
10115 Berlin
fon: +49.30 24627 511
fax: +49.30 24627 120
daniel.truemper@neofonie.de
http://www.neofonie.de

Handelsregister
Berlin-Charlottenburg: HRB 67460

Geschaeftsfuehrung
Helmut Hoffer von Ankershoffen
(Sprecher der Geschaeftsfuehrung)
Nurhan Yildirim
Uwe-Gernot Fasold

WeFind - Genau was Du suchst

Die erste Web 2.0 Suchmaschine jetzt auf http://www.wefind.de.
Unterwegs immer bestens informiert mit WeFind Mobile für iPhone und
jetzt auch mit WeFind Mobile für Android:
kostenloser Download im iTunes AppStore und im Android Market.
- --------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkrgUJwACgkQ1hUkwIV3bIwj0gCfbc7net/Ouj7eNUeSEXE0hEtR
YXkAnA/Ek+DjO92e1md/gStiBK01Xtbh
=N4Ut
-----END PGP SIGNATURE-----

Re: UIMA-AS and a custom Flow Controller

Posted by Marshall Schor <ms...@schor.com>.

Daniel Truemper wrote:
> Hi list,
>
> we are having a problem deploying our Aggregate Analysis Engine with
> UIMA-AS.
>
> The aggregate contains a custom flow controller together with a fixed
> flow setting. For the flow controller a custom type has been introduced
> that can be altered on any of the AEs in order to "stop" processing
> the CAS.
>
> If we now delpoy this aggregate with "async=false", everything works
> fine. We can send CASes to the aggregate and get the resulting CAS.
>
> If we however deploy the aggregate with "async=true", the bypass
> controller stops with the exception that the "BypassIndicator type has
> been used in the Java Code but not declared in the XML".
This may be related to a recent Jira issue:
https://issues.apache.org/jira/browse/UIMA-1580.  A work-around may be
to create one type system descriptor for all the types in your system,
and import that type system into all the components.  (However, this may
trigger the NPE mentioned in that other Jira). 

-Marshall
>
> The controller's descriptor does contain the type information! Can
> anyone help out? Should we import the type somewhere else? Is this
> possible at all with UIMA-AS? As far as I can see from the documentation
> an AS aggregate can contain a flow controller, right?
>
> Best,
> Daniel
>


Re: UIMA-AS and a custom Flow Controller

Posted by Marshall Schor <ms...@schor.com>.

Daniel Truemper wrote:
> Hi list,
>
> we are having a problem deploying our Aggregate Analysis Engine with
> UIMA-AS.
>
> The aggregate contains a custom flow controller together with a fixed
> flow setting. For the flow controller a custom type has been introduced
> that can be altered on any of the AEs in order to "stop" processing
> the CAS.
>
> If we now delpoy this aggregate with "async=false", everything works
> fine. We can send CASes to the aggregate and get the resulting CAS.
>
> If we however deploy the aggregate with "async=true", the bypass
> controller stops with the exception that the "BypassIndicator type has
> been used in the Java Code but not declared in the XML".
Besides setting async=true, are any of the delegates becoming remotely
deployed services?

>
> The controller's descriptor does contain the type information! Can
> anyone help out? Should we import the type somewhere else? Is this
> possible at all with UIMA-AS? As far as I can see from the documentation
> an AS aggregate can contain a flow controller, right?
Yes, certainly.

It might help diagnose things if you could post a smallish example of
something which isn't working, with the exact descriptors being used.

-Marshall
>
> Best,
> Daniel
>