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

Bhavani Iyer commented on UIMA-1129:
------------------------------------

[ Show ยป ]
My comments below:
Thilo Goetz - 25/Aug/08 01:55 AM Some things I noticed looking at the patch:

    bq.* I thought this option would be enabled by a performance tuning option. 
I don't see that in the patch, maybe I missed it.

    The primary use for this is to enable a serivce to return a delta CAS.  The 
service may reply with a complete CAS or with delta CAS depending on what 
format the client will accept.   So enabling delta CAS is  per request and not 
a global setting.

    bq.* There should be a boolean member variable "deltaCasEnabled" or 
something like that. This should be used in the code for checking this 
condition, so it's clear what's going on (and easier to change in case the 
implementation changes). 

   The idea here was that the same design initially used to support delta CAS 
would be used to support journalling as well.  When journalling, there will be 
multiple markers created to track activity per component.  

bq. It's also faster.
   Could you please clarify. Are you saying checking  a boolean is faster than 
checking if an object reference is null ?

    bq.* this.svd.modifiedPreexistingFSs should only be initialised if 
deltaCasEnabled. We want to keep the CAS reset overhead as small as possible.

      Good point. Will do.

    bq.* There should be no public createMarker() API, see above.
       
       As explained above, required when a service needs to send a delta cas in 
the reply to a particular request.
 
    bq.* What's the point of having a marker interface if the XmiCasSerializer 
uses the MarkerImpl? Either make the interface so specific that the 
XmiCasSerializer can use it, or dispense with the interface altogether. I would 
vote for not having public interfaces for this. In the CAS you insert a new 
public API, then say "don't use it". Why? Just keep this implementation 
internal.

     There is an example of creating and using the Marker object in the 
testcase.  Applications will use the public interface   .  In the framework 
code I used the impl for efficiency .

> XMI serialization support for delta CAS  
> -----------------------------------------
>
>                 Key: UIMA-1129
>                 URL: https://issues.apache.org/jira/browse/UIMA-1129
>             Project: UIMA
>          Issue Type: New Feature
>          Components: Core Java Framework
>            Reporter: Bhavani Iyer
>            Assignee: Bhavani Iyer
>         Attachments: UIMA-1129.patch
>
>
> Extend XMI serialization to enable serializing only the changes to the CAS.  
> The requirement for delta CAS support in order to to reduce serialization 
> overhead associated with remote services is described in the wiki page found 
> here: 
> http://cwiki.apache.org/UIMA/reducing-overhead-for-remote-service-calls.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to