You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Richard Eckart de Castilho (JIRA)" <de...@uima.apache.org> on 2017/02/06 10:14:42 UTC

[jira] [Reopened] (UIMA-5058) Scaled out pipelines can falsely trigger the error: Illegal adding of additional MetaData after CASes have been defined

     [ https://issues.apache.org/jira/browse/UIMA-5058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Eckart de Castilho reopened UIMA-5058:
----------------------------------------------

I have a number of unit tests in DKPro Core failing now apparently due to this change. 

{noformat}
org.apache.uima.UIMARuntimeException: Illegal adding of additional MetaData after CASes have been defined.
  <unknown>
  Likely cause is the reuse of a Resource Manager object for a different pipeline, after it has already been initialized.
	at org.apache.uima.resource.impl.CasManager_impl.addMetaData(CasManager_impl.java:102)
{noformat}

This seems to be not a DKPro Core problem but rather related to the new caching approach implemented here and how this interacts with uimaFIT.

uimaFIT automatically scans the classpath for type systems and merges these into a joint artificial typesystem. This artificial merged typesystem does not have a URL - the URL is "<unknown>". A new merged typesystem is created every time a pipeline is run. It seems that this somehow clashes now with the URL-based caching approach. 

I need to dig into it in more detail still - but what I can say now is that changes related to this issue (or a predecessor to this issue) may break things that worked nicely before.

> Scaled out pipelines can falsely trigger the error: Illegal adding of additional MetaData after CASes have been defined
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: UIMA-5058
>                 URL: https://issues.apache.org/jira/browse/UIMA-5058
>             Project: UIMA
>          Issue Type: Bug
>          Components: Core Java Framework
>    Affects Versions: 2.8.1SDK
>            Reporter: Burn Lewis
>            Assignee: Burn Lewis
>             Fix For: 2.9.0SDK, 3.0.0SDK-alpha
>
>
> When UIMA-AS scales out a synchronous UIMA pipeline it sequentially creates separate AEs in separate threads, sharing the resource manager.  Creation of the 2nd (identical) AE will fail with "Illegal adding of additional MetaData after CASes have been defined" if a descriptor imports 2 type-system files, one of which is included in the other.  The check fails to recognize that the types loaded by the 2nd AE are already in the resource manager because of the way type-systems are cached.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)