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