[
https://issues.apache.org/jira/browse/UIMA-4059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14179125#comment-14179125
]
Marshall Schor commented on UIMA-4059:
--------------------------------------
The tracking of which FSs are added/removed to/from indices needs to be "per
view", since it's perfectly OK to add the same FS to multiple views (if it is
not a subtype of AnnotatorBase). The testing of feature modifications has to
check if the FS is indexed in any view - a potentially more expensive
operation. The overheads involved in add/remove to/from index are such that
the additional check probably is too small to measure, but the overhead for
testing if a FS is in any index for every setting of Feature Values that are in
keys might be excessive. Since the most common pattern is to set several
features for a new FS at once, it may pay to have a one-element cache of the
last FS that was found to not be in any index, or to have this check be
separately omittable (like Java asserts - you could turn it on if you have some
issue like unexpected index behavior.)
> add-to-indexes and checking for incorrect key modifications
> -----------------------------------------------------------
>
> Key: UIMA-4059
> URL: https://issues.apache.org/jira/browse/UIMA-4059
> Project: UIMA
> Issue Type: Improvement
> Components: Core Java Framework
> Affects Versions: 2.6.0SDK
> Reporter: Marshall Schor
> Assignee: Marshall Schor
> Priority: Minor
> Fix For: 2.6.1SDK
>
>
> Address the issue raised in Jiras UIMA-3399 and UIMA-4049, as follows: Add
> (under control of a Java jvm defined param - for backwards compatibility in
> unexpected edge cases, or if it is determined this has too big a
> performance/space cost) a set which tracks if a FS has been
> added/removed-to/from-the-indexes that has fast O(1) access. Change behavior
> of add-to-indexes when a FS has already been added to not add it again.
> Change behavior of feature structure value setting to throw an exception if
> the feature being set is used as a key in any index, and the FS has been
> added-to-the-indexes.
> This should address issues raised in both JIRAs.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)