When experimenting with the UIMA-AS examples and how the error handling
mechanisms work in terms of timeouts due to AS Aggregates taking too long or
going offline, we came across a situation in which the RunRemoteAsyncAE hangs
and never returns after receiving and processing a UimaASProcessCasTimeout
exception. Ultimately, we simply want the system to recover and try the next
CAS or return gracefully without having to call a hard System.exit(1).
Our tests are based on the Deploy_MeetingDetectorTAE_RemoteRoomNumber.xml
example. All we did was the following:
(1) added “Thread.sleep(5000);” to RoomNumberAnnotator.java process to
simulate a longer process.
(2) Executed: startBroker.bat
(3) Executed: deployAsyncService <DIR>\Deploy_RoomNumberAnnotator.xml
(4) Executed: runRemoteAsyncAE tcp://localhost:61616 MeetingDetectorTaeQueue
–c <DIR>\FileSystemCollectionReader.xml -t 4 -i
In summary: when setting and triggering the time outs on the RoomNumber
remoteAnalysisEngine, the exception is thrown and caught, each additional CAS
is tried, and the system exists gracefully. If the UimaAsynchronousEngine
within the runRemoteAsyncAE times out, then the system hangs and never returns.
Is there a trick that we’re missing? Is this expected?
- Charles
_________________________________________________________________
See how Windows Mobile brings your life together—at home, work, or on the go.
http://clk.atdmt.com/MRT/go/msnnkwxp1020093182mrt/direct/01/