uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marshall Schor (JIRA)" <...@uima.apache.org>
Subject [jira] [Commented] (UIMA-5662) uv3 support CAS deserialization subsequent low level access
Date Wed, 03 Jan 2018 18:55:00 GMT

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

Marshall Schor commented on UIMA-5662:

Current v2 design for Xmi deserialization creates the internal CAS structures in a different
order from the original CAS, so the "addresses" do not match.  However, the deserialization
can return extra metadata, so that a subsequent reserialization will have the original Xmi
ids.   For now, V3 will keep this same behavior.  (so no changes are needed to the XmiCasDeserializer

> uv3 support CAS deserialization subsequent low level access
> -----------------------------------------------------------
>                 Key: UIMA-5662
>                 URL: https://issues.apache.org/jira/browse/UIMA-5662
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>    Affects Versions: 3.0.0SDK-beta
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>            Priority: Minor
>             Fix For: 3.0.0SDK
> Some users depend 1) constant v2-ids for FSs preserved in deserialization and serialization,
and 2) low level cas API access to these.
> V3 normally doesn't maintain tables linking ids to FSs, as these (unless weak refs are
used) prevent GC of unreachable FSs.
> Based on a mode, set by -Duima.deserialize_perserve_ids, and also controllable by new
config option per deserialize call, alter the deserialization for those deserializers which
know about v2 ids, to put these into the map used for low-level CAS access, using the actual
v2 ids, and change the v3 next available id for future new FSs to be 1 beyond the end.
> The -Duima.deserialize-preserve_ids global setting is needed to handle the use case of
some annotators using low-level APIs, when part of a pipeline is "remoted". 

This message was sent by Atlassian JIRA

View raw message