uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dietmar Gräbner <d.graeb...@gmail.com>
Subject Re: UimaAS blocks when accessing a queue with multiple clients concurrently
Date Thu, 09 Dec 2010 18:13:19 GMT

Finally I found the root of the problem: the analysisenging/delegate
section in the deployment descriptor.

I modified the meeting detector TAE "Deploy_MeetingDetectorTAE.xml"
file: The <analysis engine> section was added without any scaleout
information. Using this deployment descriptor with 100 Threads
(Clients) calling the the service asynchronously leads to the

I tried it with both AMQ 4.1.1 and the latest version 5.X.

Here is the descriptor:

  <name>Meeting Detector TAE</name>
  <description>Deploys Meeting Detector Aggregate AE with all its
delegates in the same JVM.</description>

  <deployment protocol="jms" provider="activemq">
      <inputQueue endpoint="MeetingDetectorTaeQueue"
       <import location="../../descriptors/tutorial/ex4/MeetingDetectorTAE.xml"/>

       <analysisEngine key="MeetingDetectorTae">
                <analysisEngine key="RoomNumber">
                <analysisEngine key ="DateTime">
                <analysisEngine key ="Meeting">





On Wed, Dec 8, 2010 at 2:52 AM, Jaroslaw Cwiklik <uimaee@gmail.com> wrote:
> I've created a multi-threaded application that uses a
>  BaseUIMAAsynchronousEngine_impl  instance per thread. Scaled this up to 100
> threads (100 clients). Ran this many times with a single instance of
> RoomNumber Annotator service (from uima as examples). No hangs. Can you try
> to run your application with a simple UIMA AS service like RoomNumber
> Annotator. You can find the deployment descriptor for it in the
> UIMA_HOME/examples/deploy/as.Its called Deploy_RoomNumberAnnotator.xml.
> On Tue, Dec 7, 2010 at 4:54 PM, Eddie Epstein <eaepstein@gmail.com> wrote:
>> 2010/12/7 Dietmar Gräbner <d.graebner@gmail.com>:
>> > I wrote a test client creating multiple threads. Each thread
>> > instantiates a BaseUIMAAsynchronousEngine_impl and invokes a uima
>> > aggregate with the sendAndReceiveCAS() call. When running the program
>> > with e.g. 100 Threads the client gets stuck after processing X calls.
>> FWIW, a similar multithreaded client scenario that has been used with
>> no problems is to instantiate a single BaseUIMAAsynchronousEngine_impl
>> with big enough casPool and have each thread call sendAndReceiveCAS()
>> using the common API object.
>> Eddie

View raw message