Hello, I am Sarra KHAZRI a software developer located in Canada.

We are currently using apache ignite 2.7.5 as a cache and we want to migrate to 
2.11.0.

The work was almost done but recently i am having problem with 
cache.replace(k,v,v) that starts to return false.

We are using this method cache.replace(k,v,v) frequently in the code because we 
are working on a prediction system and data are updated.

I want to understand how it works in the java doc it indicates that there is a 
comparison using equals

if (cache.containsKey(key) && equals(cache.get(key), oldValue))
 { 
    cache.put(key, newValue); return true; } else { return false; 
} 

Does the method cache.replace(k,v,v) compare  using equals or hashcode  if it 
equals does it use all the attributes declared in the entity or it uses only 
the attributes specified in the annotation @EqualsAndHashCode(of="id”) for 
example.

All my entities are annotated with  @EqualsAndHashCode(of="id”) or  
@EqualsAndHashCode()

Just a Note that when i was with 2.7.5 , in debug mode calling  
cache.replace(k,v,v)  the debugger passed through the equals method in the 
entity but not in the version 2.10 and 2.11.0.

Recently I opened a post at stack overflow : 
https://stackoverflow.com/questions/70118048/ignite-2-10-0-cache-repalcek-v-v-return-false-after-upgrade-from-2-7.

I just want to make sure that the implementation of the method  
cache.replace(k,v,v) is the same in the 2 version and there is no regression in 
the product.


Thank you for your time and help.

— Sarra

Reply via email to