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

Reply via email to