Marshall Schor created UIMA-2790:
------------------------------------
Summary: Change Index Merge for aggregates to exclude remote
delegate index specifications
Key: UIMA-2790
URL: https://issues.apache.org/jira/browse/UIMA-2790
Project: UIMA
Issue Type: Improvement
Affects Versions: 2.4.0SDK
Reporter: Marshall Schor
Priority: Minor
Fix For: 2.4.1SDK
The general approach for UIMA aggregates includes merging the meta information
of all the delegates to create a common CAS specification. The CAS
Specification includes a type system, and an index specification, among other
things. If the delegates are local (running in the same JVM and sharing the
CAS's index repositories) then the index specifications from the delegates need
to be "merged" (a logical union operation) so that an add-to-indexes operation
can add to all of the indexes in that repository that might be used by a
delegate. However, for remote delegates, any "adding to index" operations are
done by the remote. Omitting their index definitions from the aggregate merge
set makes no difference to the operation in this case (other than to
potentially reduce the indexes that are maintained by client running the
aggregate. So it is a potential performance improvement to omit these.
I asked Adam if he recalled why the design was this way,and he reminded me that
a long time ago, we didn't have "automatic" bag indexes for every type, like we
do now. In that older design, if the indexes were not merged, then the
creation of a type which had no index would get forgotten if it was added to
the indexes, as there was no index in which to remember it. Now that this is
not the case, there's no logical reason (that I can think of) why remote
delegate index specifications (including their type priorities) need to be
"merged" with a client aggregate.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira