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] [Updated] (UIMA-5662) uv3 support CAS deserialization subsequent low level access
Date Thu, 25 Jan 2018 16:33:00 GMT

     [ https://issues.apache.org/jira/browse/UIMA-5662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Marshall Schor updated UIMA-5662:
---------------------------------
    Description: 
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 prevent GC of unreachable
FSs.
 # Based on a mode, set by -Duima.default_v2_id_references, and also controllable per CAS
instance, support the use of id's in the same way V2 did, with better support for more serialization/deserializations.

Feature Structures when created are added to the internal id-to-FeatureStructure map, enabling
the LowLevelCAS apis to work.
 # IDs are assigned so that mimic what they would be in V2
 # Serialization is altered to include unreachable Feature Structures (except for Xmi and
XCAS - because that is how V2 operates.

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".

  was:
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". 


> 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 prevent GC of unreachable
FSs.
>  # Based on a mode, set by -Duima.default_v2_id_references, and also controllable per
CAS instance, support the use of id's in the same way V2 did, with better support for more
serialization/deserializations. 
> Feature Structures when created are added to the internal id-to-FeatureStructure map,
enabling the LowLevelCAS apis to work.
>  # IDs are assigned so that mimic what they would be in V2
>  # Serialization is altered to include unreachable Feature Structures (except for Xmi
and XCAS - because that is how V2 operates.
> 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
(v7.6.3#76005)

Mime
View raw message