Thanks Darrel and Michael for your suggestion and will evaluate which suits best for our use case.
- Deepak On Thu, Mar 9, 2017 at 3:42 AM, Darrel Schneider <dschnei...@pivotal.io> wrote: > Mike is correct that the first time you ask a VMCachedDeserializable for > the deserialized value that the deserialized value will "stick" in the > VMCachedDeserializable. If anyone then asks that VMCachedDeserializable for > the serialized value it has to serialize it each time since it is now stuck > as deserialized. > > Instead of doing inplace modification you might want to check out geode's > Delta interface. It keeps the values in object form and allows the value to > be distributed to be a subset of the full object that will be applied to > the full object on other members. > > Also off-heap regions always store their values serialized. > > If your value is a "byte []" then it will not be wrapped by a > VMCachedDeserializable. For "byte []" geode just stores a reference to the > byte array. > > You might also want to checkout geode PDX serialization. It allows you to > keep the data serialized on the server and still be able to fetch and > modify fields on the serialized data. > > On Wed, Mar 8, 2017 at 10:41 AM, Michael Stolz <mst...@pivotal.io> wrote: > > > The rule is, if you deserialize the object in the server side, Geode > keeps > > the deserialized version of it around. > > > > As for updating in place...this is the position that the docs for > > Commercial GemFire take on that subject: > > > > "If you do not have the cache copy-on-read attribute set to true, do not > > change the objects returned from the Java entry access methods. Instead, > > create a copy of the object, then modify the copy and pass it to the Java > > put method. Modifying a value in place bypasses the entire distribution > > framework provided by GemFire, including cache listeners and expiration > > activities, and can produce undesired results." > > > > Of course if that's exactly the behavior you WANT, then set > > copy-on-read=false. > > > > > > > > -- > > Mike Stolz > > Principal Engineer, GemFire Product Manager > > Mobile: +1-631-835-4771 > > > > On Wed, Mar 8, 2017 at 1:37 AM, Deepak Dixit <deepakdixit2...@gmail.com> > > wrote: > > > > > Hello Geode Team, > > > > > > I am working on a use case where I want to store the java object. I > want > > to > > > avoid the serialization and deserialization while reading on server > > > (function execution). > > > Also while updating I would like to update in-place rather than to > create > > > copy of object, modify and store it again in underlying map. > > > > > > Based on my current understanding, every object is wrapped in > > > "VMCachedDeserializable" and serialized / deserialized while doing > > get/put. > > > > > > Kindly advice the way with which I can store object in deserialized > form > > in > > > cache and do in place modifications. > > > > > > Thanks, > > > Deepak > > > > > > -- From: Deepak D Dixit deepakdixit2...@gmail.com +919028507537