Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
In the CPM, the method BoundedQueue.dequeue(timeout) is supposed to wait for the specified timeout for a CAS to become available. However from a code inspection it looks like there are problems with its synchronization. If multiple threads are waiting, and one CAS becomes available, then all of the threads will wake up, but only one will get the CAS. The others will return null prematurely, without having exhausted their timeout.
Also there may be a problem with chunking enabled and a chunk timeout is specified, where the timeout does not actually do anything except log a message.
Details here: http://www.mail-archive.com/uima-dev@incubator.apache.org/msg02033.html