You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Marshall Schor (JIRA)" <de...@uima.apache.org> on 2013/11/01 01:43:18 UTC

[jira] [Commented] (UIMA-3396) Wrong method to remove element in delta index journal processing

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

Marshall Schor commented on UIMA-3396:
--------------------------------------

While investigating, some additional edge cases around converting the journal of index adds and removes to the add/remove/reindex lists, were discovered that were not being handled quite right, so these were fixed:

Before: a Remove - Add of a particular FS, say FS1,would put FS1 in the reindex list.  If an Add FS1 event then happened, this would append FS1 to the add-to-indexes list.

After: An additional Add FS1 event in this case would not be added to the add-to-indexes list (because it's already on the reindex list).
------
Before: if FS1 was in the reindexed list, and a remove FS1 event happened, this would cause FS1 to be removed from the reindexed list (only).

After: in addition to being removed from the reindexed list, FS1 is now added to the remove-from-indexes list.
------

Although the normal use case is to do operations which process the journal once, the logic permits processing it multiple times.  However, the journal is not "cleared" after it is processed, so if any additional FSs are added or removed from the indexes, the next reference to the delta information will cause the entire journal to be re-processed.  This edge case may not happen in usual practice, but there seems to be no reason not to clear the journal after it is processed.



> Wrong method to remove element in delta index journal processing
> ----------------------------------------------------------------
>
>                 Key: UIMA-3396
>                 URL: https://issues.apache.org/jira/browse/UIMA-3396
>             Project: UIMA
>          Issue Type: Bug
>    Affects Versions: 2.4.2SDK
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>             Fix For: 2.5.0SDK
>
>
> A user reported an array index out of bounds during XmiSerialization back from a uima-as service.  The stack trace pointed to the processIndexUpdates method; an inspection of that method shows that the remove operation to remove a FeatureStructure (represented by an int) is wrongly treating the int as the index in the particular intset, 



--
This message was sent by Atlassian JIRA
(v6.1#6144)