Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
The JD throws the following exception:
Feb 14, 2019 9:51:02 AM org.apache.uima.ducc.test.randomsleep.FixedSleepCR getNext(328)
INFO: getNext
org.apache.uima.analysis_engine.AnalysisEngineProcessException: Annotator class org.apache.uima.ducc.CasHelper requires Type org.apache.uima.ducc.Workitem, which was not found in the CAS.
at org.apache.uima.ducc.CasHelper.getId(CasHelper.java:47)
at org.apache.uima.ducc.user.jd.JdUserCollectionReader._getJdUserMetaCas(JdUserCollectionReader.java:169)
at org.apache.uima.ducc.user.jd.JdUserCollectionReader.getJdUserMetaCas(JdUserCollectionReader.java:147)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at org.apache.uima.ducc.container.common.classloader.ContextSwitch.call(ContextSwitch.java:42)
at org.apache.uima.ducc.container.jd.classload.ProxyJobDriverCollectionReader.getMetaCas(ProxyJobDriverCollectionReader.java:171)
at org.apache.uima.ducc.container.jd.cas.CasManager.getMetaCas(CasManager.java:74)
To make things worse the above exception is ignored by JD code and the job continues until completion giving a false sense of positive completion. The Duccmon shows no errors.
Two fixes are needed:
1) Address the missing Workitem type in the cas
2) Improve error handling to detect an exception and cancel a job
The above error is caused by a recent change in CasHelper.java. Ducc examples have not been updated to define Workitem type in descriptors. Also the getId() method does not throw Exception leaving JD oblivious to an error which may happen there.