[
https://issues.apache.org/jira/browse/UIMA-5106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15605866#comment-15605866
]
Marshall Schor commented on UIMA-5106:
--------------------------------------
# re: getting a blessed id feature that all FSs would inherit: I wasn't
thinking of users adding a new feature on TOP or Annotation - you are correct
in observing that this would be restricted to some user-defined type which
wasn't one of the built-in "feature-final" types. A key idea is that only
selected types would have this - the ones you wanted it for.
# re: users wanting their own stable IDs - they can manage this themselves.
True, but the dev list has had requests for UIMA to help here. There were 2
kinds of help wanted:
#* a) assigning unique ids, and
#* b) having a way to go from those IDs to the associated Feature Structures (a
map).
As we move into more distributed environments, having some principled way to
have a hierarchical naming that results in guaranteed unique names seems
useful; this context is where the OID idea came up. But you may be right -
this may not be of very much interest (yet) to the wider community. (Community
- if this is wrong, please speak up :-) ).
> uv3 constant "id" for FSs (Proposed new Feature for uv3)
> --------------------------------------------------------
>
> Key: UIMA-5106
> URL: https://issues.apache.org/jira/browse/UIMA-5106
> Project: UIMA
> Issue Type: New Feature
> Components: Core Java Framework
> Reporter: Marshall Schor
> Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Add constant ID for FSs. This would be an incrementing, long value. It would
> be constant through serialization/ deserialization cycles. There would be a
> lazily created map from longs to FSs (via weak links) to allow direct access
> from the ID to the FS. Lazy intent is to not have a cost for this
> (space/time) other than the cost for 1 long / FS, if it is not used.
> We could make this feature optional, as well, to avoid the 8 bytes per FS
> overhead, but in V3, I think that's not a good tradeoff (space savings vs
> complexity).
> Issues:
> * Current design allows parallelism of services, with returned results
> "stacked" into receiving CAS; would need to change (some of) the IDs coming
> back.
> CAS would need to have the high-water-mark value as part of serializations.
> Backwards compatibility:
> * loading V2 CASs: generate new IDs upon loading.
> * serializing to V2: (for connecting to V2 services): drop the IDs.
> This is a proposed new V3 feature; comments appreciated.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)