I’m seeing a couple of issues with the pipelines that cause messages(and CAS’s) to be lost.
The pipeline is prefetching 2 messages off the input queue. If the pipeline receives a SIGTERM is will shut down. In this case, the document has finished but we loose the second document that was prefetched.. We never see the second prefetched document back on the input queue, so Im assuming it must have be ack’d(which doesn’t seem that this should happen)..We also seem to loose both CAS’s from the reader because The callback to the reader to tell it the CAS can be released is never called… This issue surfaced when moving our implementation to Kubernetes.. The shutdown is happening when a pod is stopped. I have a process that will requeue the last DOCID which is ok, but I have no way of recovering the second prefetched document.. So, a few questions. 1. Is there a way via config to stop the pipeline from prefetching the second document 2. Is there a way to (via a shutdown hook) to let the pipeline return CAS’s to the reader if it recieves a SIGTERM. We use UimaJ and Uima-AS 2.10.2. We cannot upgrade to 3.x yet. Any insight would be appreciated