Darrel Schneider created GEODE-8142:
---------------------------------------
Summary: 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
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)