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:25:41 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=15853804#comment-15853804 ] 

Richard Eckart de Castilho commented on UIMA-5058:
--------------------------------------------------

Ok, so the above thing about the URL was a red herring.

Here is what happens: CasManager_impl.containsSameTypeAndIndexInfo(ProcessingResourceMetaData) internally compares the cached metadata with the metadata from the new descriptor. In my particular case, the type system priorities from the new descriptor is "null" while the cached descriptor contains a "default" type system priorities

{noformat}
org.apache.uima.resource.metadata.impl.TypePriorities_impl: 
description = NULL
imports = Array{}

name = NULL
priorityLists = Array{}

vendor = NULL
version = NULL
{noformat}

This only happens when uimaFIT makes use of the resource manager contained obtained through

{noformat}
UimaContext activeContext = UimaContextHolder.getContext();
{noformat}

If I force uimaFIT to create a new resource manager for each component/pipeline, then I don't get an error.

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