Well, i am running ignite nodes on an "alien"(meh) architecture. JVM implementation there has high latency when accessing data in memory, so i am trying to move my data to c++ side of my code and then run some processing on it. So my idea was to implement my own Marshaller wich would "strip" my data when it enters ignite node. Marshaller would unmarshall my data object and move the "heavy" part to c++ side via JNI, leaving only small amount of meta data in ignite cache. But crawling through ignite source code i found, that ignite actually stores serialized data as it comes to a node, rather then storing only deserialized value (CacheObjectImpl). So the problem is that i will have all this "heavy" data still in java heap(or offheap) and its duplicate on the c++ side. When i was asking the original question i didnt know this, so i think it does not matter now =).
2016-12-28 17:50 GMT+03:00 Yakov Zhdanov <[email protected]>: > Igor, it is impossible to alter the value since it may cause data > inconsistency. Imagine you have 2 nodes and cache with 1 backup. 3 node > joins and you alter cache entries being sent from node 1 and 2 to 3, but > those entries are currently backed up on 2 and 1 respectively. > > Please explain why you need this? I will try to come up with suggestions. > Btw, what if rebalancing never happen? :) this is still possible, you know > > --Yakov > > 2016-12-28 14:49 GMT+03:00 Igor Gnatyuk <[email protected]>: > >> Is there a way to make changes to cache entry before it is sent to >> another node during rebalance? I want new node receive some additional data >> with every cache entry. This data should be added to the object before >> marshaling on the node where it was before rebalancing. >> > >
