uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pierre yahoo <ppuja...@yahoo.fr>
Subject UIMA-AS client is blocking
Date Tue, 30 Mar 2010 09:41:45 GMT
I'm trying to use UIMA-AS to scale a part of the process of our application.
I have successfully deployed our process as asynchronous services but I 
have tremendous issues with the client.

I'm basically looping synchronously(one at a time) on the following code.
      CAS cas = uimaEEEngine.getCAS();
      JCas jcas;
      try {
         jcas = cas.getJCas();
      } catch (CASException e) {
          throw new ResourceProcessException(e);
      }
      fillCas(jcas);
      uimaEEEngine.sendCAS(cas);

When I run the application, the client works fine for a while and 
suddenly gets stuck waiting on cas.getJCas()..
I have checked that the asynchronous service have processed all the 
previous  CAS.  The service is still up and running as I can send 
requests from an another client.
When I tracked down who locks the process, I can see that the semaphore 
on CasQueueEntry is not released.
When I looked further, I noticed that the all process is basically lock 
when the CasManager_Impl is calling CasPool.getCas(0) . The CasPool is 
then waiting with no timeout for someone to notify it.

I try to change the size of the client CasPool but it didn't really fix 
the issue. Just pushing further the lock...

Does anyone have ever experienced this? Am I doing something wrong ?

Pierre

Mime
View raw message