[jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-25 Thread Thilo Goetz (JIRA)

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

Thilo Goetz commented on UIMA-1129:
---

Some things I noticed looking at the patch:

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

* 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).  It's also faster.

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

* There should be no public createMarker() API, see above.

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




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



[jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-25 Thread Bhavani Iyer (JIRA)

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



[jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-26 Thread Thilo Goetz (JIRA)

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

Thilo Goetz commented on UIMA-1129:
---



Bhavani Iyer (JIRA) wrote:
> [ 
> 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.

-1. We can't have arbitrary clients turn on Delta CAS mode for everybody else.  
This must be 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.  

So?  I don't get your point.

> 
> 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 ?

I think so, though I admit it's only conjecture.

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

If the API is intended to be public, then remove the comment that it's just for 
framework use.



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



[jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-26 Thread Eddie Epstein (JIRA)

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

Eddie Epstein commented on UIMA-1129:
-

{quote}
> 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.

-1. We can't have arbitrary clients turn on Delta CAS mode for everybody else. 
This must be a global setting.
{quote}

No client turns on delta CAS for any other; each client request must specify 
desire for a delta CAS response. A global setting for the service would not 
work.

{quote}
> 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.

So? I don't get your point.
{quote}

I think Bhavani's point is that both CAS and journaling use the marker 
mechanism to track CAS activity. Delta CAS is a designed to optimize 
client-service overhead. Journaling can be used anywhere, and from a user's 
point of view has nothing to do with delta CAS. Instead of 
{{monospaced}} "if (this.svd.currentMark != null)"  {{monospaced}} 
how about using
{{monospaced}} "if (this.svd.casTrackingMark != null)" {{monospaced}}



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



[jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-26 Thread Adam Lally (JIRA)

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

Adam Lally commented on UIMA-1129:
--

> -1. We can't have arbitrary clients turn on Delta CAS mode for everybody 
> else. This must be a global setting.

What we want is that when one client turns on delta CAS it does not affect 
others, but I think that means it must NOT be a global setting.  It looks to me 
like reset() is clearing the mark, so in the case where a client uses the mark 
and then releases the CAS back to a pool for other clients to use, other 
clients will not be affected.  So I am not sure I see the problem you are 
objecting to.

> >
> > 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 ?

> I think so, though I admit it's only conjecture.

My intuition is that these ought to be the same speed - aren't both just 
checking a memory location to see if equals some constant value?  Without some 
proof that a boolean check is faster, I'm inclined to say the current 
implementation is fine.

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



[jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-27 Thread Eddie Epstein (JIRA)

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

Eddie Epstein commented on UIMA-1129:
-

Bhavani,

Your UIMA-1129-1.patch is committed. The issue needs to stay open until 
appropriate documentation changes are done, for example, in "Chapter 7. XMI CAS 
Serialization Reference."

Can you either point us at the new format details, or if not there add the 
details to this issue (or even modify the reference document itself :)?

Thanks,
Eddie

> 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-1.patch, 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.



[jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-09-23 Thread Eddie Epstein (JIRA)

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

Eddie Epstein commented on UIMA-1129:
-

There appears to be a bug on delta CAS serialization for content added to a 
named view. For my scenario under test, the input CAS to a service has a 
single, named view. The service adds FS to that view, but the delta CAS output 
assigns all the new content to _InitialView. 

Probably related, according to a Cas dump done from inside the service, the 
_InitialView is created during service processing, although it has no content.



> 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-1.patch, UIMA-1129-2.patch, 
> UIMA-1129-2a.patch, UIMA-1129-3.patch, 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.



Re: [jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-26 Thread Thilo Goetz
Eddie Epstein (JIRA) wrote:
> [ 
> https://issues.apache.org/jira/browse/UIMA-1129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625727#action_12625727
>  ] 
> 
> Eddie Epstein commented on UIMA-1129:
> -
> 
> {quote}
>> 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.
> 
> -1. We can't have arbitrary clients turn on Delta CAS mode for everybody 
> else. This must be a global setting.
> {quote}
> 
> No client turns on delta CAS for any other; each client request must specify 
> desire for a delta CAS response. A global setting for the service would not 
> work.

Not sure we're talking about the same thing.  I mean that the delta CAS mode 
must
be enabled by the app, and can't be enabled by an annotator.

> 
> {quote}
>> 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.
> 
> So? I don't get your point.
> {quote}
> 
> I think Bhavani's point is that both CAS and journaling use the marker 
> mechanism to track CAS activity. Delta CAS is a designed to optimize 
> client-service overhead. Journaling can be used anywhere, and from a user's 
> point of view has nothing to do with delta CAS. Instead of 
> {{monospaced}} "if (this.svd.currentMark != null)"  {{monospaced}} 
> how about using
> {{monospaced}} "if (this.svd.casTrackingMark != null)" {{monospaced}}

I still don't understand, but I get the feeling that it's not important.

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



Re: [jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-26 Thread Eddie Epstein
Thilo Goetz <[EMAIL PROTECTED]> wrote:

> >
> > No client turns on delta CAS for any other; each client request must
> specify desire for a delta CAS response. A global setting for the service
> would not work.
>
> Not sure we're talking about the same thing.  I mean that the delta CAS
> mode must
> be enabled by the app, and can't be enabled by an annotator.
>

Ah, of course. That is already in the patch code.


Re: [jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-27 Thread Marshall Schor
Something went wrong with the patch diff.  It is showing every line as
"changed".  This sometimes happens when the files don't have the right
svn property set for line endings.  The result is we lose the ability to
easily see what was changed in the commit log.

-Marshall

Eddie Epstein (JIRA) wrote:
> [ 
> https://issues.apache.org/jira/browse/UIMA-1129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12626318#action_12626318
>  ] 
>
> Eddie Epstein commented on UIMA-1129:
> -
>
> Bhavani,
>
> Your UIMA-1129-1.patch is committed. The issue needs to stay open until 
> appropriate documentation changes are done, for example, in "Chapter 7. XMI 
> CAS Serialization Reference."
>
> Can you either point us at the new format details, or if not there add the 
> details to this issue (or even modify the reference document itself :)?
>
> Thanks,
> Eddie
>
>   
>> 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-1.patch, 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.
>> 
>
>   


Re: [jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-28 Thread Eddie Epstein
On Wed, Aug 27, 2008 at 5:11 PM, Marshall Schor <[EMAIL PROTECTED]> wrote:

> Something went wrong with the patch diff.  It is showing every line as
> "changed".  This sometimes happens when the files don't have the right
> svn property set for line endings.  The result is we lose the ability to
> easily see what was changed in the commit log.
>
> -Marshall
>


Using eclipse to compare XmiCasDeserializerTest.java against the previous
revision showed selected lines changed, even though the email showed every
line
changed. Maybe we are ok?

Eddie


Re: [jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-28 Thread Eddie Epstein
On Wed, Aug 27, 2008 at 5:11 PM, Marshall Schor <[EMAIL PROTECTED]> wrote:

> Something went wrong with the patch diff.  It is showing every line as
> "changed".  This sometimes happens when the files don't have the right
> svn property set for line endings.  The result is we lose the ability to
> easily see what was changed in the commit log.
>
> -Marshall
>


Using eclipse to compare XmiCasDeserializerTest.java against the previous
revision showed selected lines changed, even though the email showed every
line
changed. Maybe we are ok?

Eddie


Re: [jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-28 Thread Burn Lewis
Looks OK to me ... many lines added but few deleted.


Re: [jira] Commented: (UIMA-1129) XMI serialization support for delta CAS

2008-08-28 Thread Burn Lewis
Spoke too soon ... I was looking at the patch itself.  When running svn diff
on the last change I also see every line changed ... caused by the native
lineends as mylatest copy is now a DOS file.  Has the eol-style been changed
already?

On Thu, Aug 28, 2008 at 10:50 AM, Burn Lewis <[EMAIL PROTECTED]> wrote:

> Looks OK to me ... many lines added but few deleted.
>
>