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

Marshall Schor commented on UIMA-5662:
--------------------------------------

the try (x = xxx) was "wishful thinking" - it must be contagious :-)

It ought to read try (AutoClosable x = xxx or something like that.

Re static vs method on a cas instance:  I see these as two alternative 
implementations - the static one goes with a ThreadLocal value, and the per CAS 
instance uses another flag in the CAS instance.

I think there are some benefits to the thread local, overall.  I thinkl it is 
more likely that those using this would want it set for all CASs in an 
application, and just setting it once (perhaps in a try with resources block 
surrounding the main "produceAnalysisEngine" - run things through it) would be 
clearer and more reliable.

If it was on the individual CAS, the app would need to be examined in detail to 
see where it creates CASs and each CAS individually would need to be set.

But perhaps I'm not thinking of the "popular" use cases I should be?

> 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
(v6.4.14#64029)

Reply via email to