Richard Eckart de Castilho updated UIMA-5097:
    Fix Version/s: 2.9.1SDK

> Current component info on CAS not reset
> ---------------------------------------
>                 Key: UIMA-5097
>                 URL: https://issues.apache.org/jira/browse/UIMA-5097
>             Project: UIMA
>          Issue Type: Bug
>          Components: Core Java Framework
>            Reporter: Richard Eckart de Castilho
>            Assignee: Marshall Schor
>             Fix For: 2.9.1SDK
>         Attachments: UIMA5097SuiteTest.java
> uimaFIT tests re-use a single CAS which is stored in a thread-local variable 
> and reset that CAS between unit tests. Apparently there was some change which 
> causes the Sofa-mapping information - or more specifically the current 
> component info from which that mapping is obtained - to not be reset anymore. 
> The problem only appears when running all uimafit-core tests jointly in one 
> JVM, e.g. from Eclipse.
> Initial hypothesis which proved to be wrong: 
> There may be a bug that might be related to the UimaContextHolder not being 
> cleaned up probably (probably in case of some kind of failure).
> The problem appears when running the uimafit-core tests in Eclipse. Here all 
> tests run in the same JVM instance which allows "global" information like 
> thread locals to be carried over between unit tests.
> Then running all tests and when the `ViewCreatorAnnotatorTest` runs before 
> the `SimplePipelineTest`, then the deserialization of an XMI file fails 
> because `_InitialView` is still mapped to `myView` in the UIMA context. 
> Debugging yields that the UIMAContext in use for the SimplePipelineTest 
> apparently still belongs to the `ViewCreatorAnnotatorTest` because the 
> *mQualifiedContextName* is 
> `/org.apache.uima.fit.component.ViewCreatorAnnotatorTest$SofaAwareAnnotator/`
> This hypothesis was wrong: checked it by verifying that 
> UimaContextHolder.getContext() is null before and after each unit test.

This message was sent by Atlassian JIRA

Reply via email to