[
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)