orn, the only thing that makes sense here is that the client is timing out
while the service is still handling a CAS. Do you know if the client resends
the same CAS after timeout?
The client always calls getCAS() before it calls sendCAS(), and it assumes
that it gets a fresh CAS from getCAS().
I think I use the client API correctly, maybe that can happen if the
client internally
tries to send a CAS two times, maybe due a broker connection lost issue
.... ?
The UIMA AS Service also stopped processing messages afterwards, but I
am not
sure if that is related to the message.
Yes there are messages in the service queue.
Maybe the hang issue from for a few days and the one today
have different reasons.
I kind of believe that the process method in my last AE after the CM
blocked.
Add the end of the AE.process method it calls two web service methods,
the first
to save analysis results, and the second to mark the article as processed.
In our database we could see that the first was called and the second
method was never called,
but there was also no exception in the log files, which might indicated that
the process method just blocked at the end. There is no way to escape the
process method without throwing an exception or finishing the call, we
never received.
I hope I can provide you with more data when it happens again, so we can
find the cause.
I will set timeouts on my web service calls, to make sure a blocked
process method is not
the reason for the hang. Maybe there is also a timeout I can set for the
process method.
From the hang from a few days ago I have a core dump, but I am not sure
how I can
find out where all the CASes are ... in the stack traces I can see that
its trying to get
an empty cas in the CM.next() method but it seems like that its waiting
for new CASes to
become available.
No comments:
Post a Comment