[ 
https://issues.apache.org/jira/browse/UIMA-1695?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12786103#action_12786103
 ] 

Marshall Schor commented on UIMA-1695:
--------------------------------------

Here's what's happening.

When you add a "pear specfier" to an aggregate, all goes well up to the place 
where there is a call to verify that this is a "valid aggregate change" 
(isValidAggregateChange() is called, in AbstractSection).  This calls:
editor.setMergedTypeSystemDescription() ->
  mergeDelegateAnalysisEngineTypeSystems ->
    getMergeInput ->
      CasCreationUtils.getMetadDataList ->   (argument of the top level 
aggregate)
         CasCreationUtils.getMetadDataList ->
            CasCreationUtils.getMetadDataList     (finally with the agrument of 
the pear specifier)

This has a "case" like statement, looking for various kinds of descriptors; 
pearSpecifier isn't one of them ...  so it defaults to being handled as a 
generic "resource".  The logic for that is to call 
UIMAFramework.produceResource(), which causes the pear to be loaded and 
initialized.  It then gets the resource's metadata, and then calls "destroy()" 
on the resource.  

Some possible fixes to investigate:
1) add handling for pearSpecifiers to work without instantiating the resource
2) make the default case work without actually instantiating the resource 
(e.g., set the PARAM_VERIFICATION_MODE to true before calling 
produceAnalysisEngine  - need to confirm this would obtain the metadata in the 
various possible cases).  This would be a more general fix.




> Eclipse tooling: CDE fully instantiates components of aggregates, resulting 
> in OutOfMemory issues
> -------------------------------------------------------------------------------------------------
>
>                 Key: UIMA-1695
>                 URL: https://issues.apache.org/jira/browse/UIMA-1695
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Eclipse plugins
>    Affects Versions: 2.3
>            Reporter: Thilo Goetz
>            Priority: Minor
>
> When I create an aggregate descriptor from several installed pears (e.g., WS 
> tokenizer, tagger & regex), the CDE creates an OOM situation on Eclipse 3.5 
> and Sun Java 6 on windows.  This seems to be due to the fact that the CDE 
> fully instantiates delegate components to get at their metadata.  Is this 
> really necessary?  We keep all our metadata in xml specifically so we don't 
> have to do this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to