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

Darrel Schneider resolved GEODE-8142.
-------------------------------------
    Resolution: Won't Do

I looked into doing this but a couple of things about the callback arg makes it 
less than ideal for this solution.
 # Callback args are themselves distributed so we could end up transmitting it 
once as the Delta and once as the callback arg.
 # In some cases the implementation may not make the callback arg available in 
which case it would be null.

> Enhance the Delta interface to support callbackArgs
> ---------------------------------------------------
>
>                 Key: GEODE-8142
>                 URL: https://issues.apache.org/jira/browse/GEODE-8142
>             Project: Geode
>          Issue Type: Improvement
>          Components: core
>            Reporter: Darrel Schneider
>            Assignee: Darrel Schneider
>            Priority: Major
>
> The Geode Delta interface allows for a subset of the actual data to 
> distributed to redundant copies when storing data in a Geode region. It 
> requires you to implement hasDelta, toDelta, and fromDelta on your domain 
> class. In most cases when you implement these methods you find you need to 
> add some additional instance variables to your domain class just for hasDelta 
> and toDelta to read. So Delta saves you in how much data needs to be 
> serialized for distribution, but it may hurt you in how much memory your 
> domain object uses.
> Geode has another concept call a "callbackArg". It is an extra parameter that 
> can be passed to the Region methods, that will in turn be given to various 
> callbacks that the user has installed. 
> I propose we enhance hasDelta and toDelta to have a form of the method that 
> is given the callback argument. The default implementation of this method 
> would just be to ignore the callback arg and call the old method. But this 
> would allow users to to override the new methods and have all the delta 
> information passed to them as a callback argument. Since the callback arg is 
> garbage collected after the operation it was given to completes, this would 
> allow Delta to be implemented without introducing extra long lived memory 
> overhead.
> I have looked at the places Geode currently calls hasDelta and toDelta 
> internally, and the callback argument is available in those contexts so this 
> would be a rather easy feature to add.
> I know that the Geode Redis API project could benefit from it.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to