Key1 equals Key2 but not found in cache

2023-03-22 Thread Humphrey Lopez
Hello, when having a key which equals another key, when trying to retrieve from cache it does not return the expected value. Is this a bug? I have a reproducible below in kotlin but in java we get the same result (test with Ignite 2.10 and 2.14) and java 11 and 19. import

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Humphrey Lopez
They are in the example only checking the first field when overriding the equals. And hashCode always returns 1. Op wo 22 mrt 2023 om 13:06 schreef Prigoreanu, Alexandru < prigoreanu.alexan...@anteash.com>: > hashCode and equals should depend on the same fields. > > On Wed, Mar 22, 2023 at 8:02 

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Prigoreanu, Alexandru
hashCode and equals should depend on the same fields. On Wed, Mar 22, 2023 at 8:02 AM Humphrey Lopez wrote: > Hello, when having a key which equals another key, when trying to retrieve > from cache it does not return the expected value. Is this a bug? > > I have a reproducible below in kotlin

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Stephen Darlington
Ignite doesn’t use your equals or hashCode implementation. Data is stored as a BinaryObject, and it’s that that is compared for equality. > On 22 Mar 2023, at 12:14, Humphrey Lopez wrote: > > They are in the example only checking the first field when overriding the > equals. And hashCode

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Humphrey Lopez
Thanks for clarifying that. Is there a way to mark a property/field to be excluded when storing? Humphrey Op wo 22 mrt 2023 om 14:20 schreef Stephen Darlington < stephen.darling...@gridgain.com>: > Ignite doesn’t use your equals or hashCode implementation. Data is stored > as a BinaryObject,

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Humphrey Lopez
I see marking the field as Transient Ignite won't serialize it to BinaryObject, is that the way to go? Humphrey Op wo 22 mrt 2023 om 14:37 schreef Humphrey Lopez : > Thanks for clarifying that. Is there a way to mark a property/field to be > excluded when storing? > > Humphrey > > Op wo 22 mrt

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Rick Lee
Why don’t u put the type to value and leave the id as the key? 「Humphrey Lopez 」在 2023年3月22日 週三,下午10:16 寫道: > Okay transient is also not the way to go, cause we want to be able to > filter sometimes on that field, so it should be there in the cache. But > thanks for clarifying that the Equals and

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Humphrey Lopez
We have FAT keys that contain information about the Values we store. KEY - Object A - Object B VALUE - Object Y The KEY we are using contains several (small) objects as fields. We have added to Object A a new field A.TYPE so when searching through the cache we could filter on that type. I guess

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Humphrey Lopez
Okay transient is also not the way to go, cause we want to be able to filter sometimes on that field, so it should be there in the cache. But thanks for clarifying that the Equals and HashCode is not being used on BinaryObjects. Op wo 22 mrt 2023 om 14:51 schreef Humphrey Lopez : > I see marking

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Stephen Darlington
You don’t want to look through all the keys. That’s why Ignite has SQL. > On 22 Mar 2023, at 14:44, Humphrey Lopez wrote: > > We have FAT keys that contain information about the Values we store. > KEY > - Object A > - Object B > > VALUE > - Object Y > > The KEY we are using contains several

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Humphrey Lopez
Can we query the keys as well? Adding QuerySqlField? I think this only applies to the values right? Op wo 22 mrt 2023 om 16:08 schreef Stephen Darlington < stephen.darling...@gridgain.com>: > You don’t want to look through all the keys. That’s why Ignite has SQL. > > On 22 Mar 2023, at 14:44,

Re: Key1 equals Key2 but not found in cache

2023-03-22 Thread Stephen Darlington
You can make any column visible in SQL. > On 22 Mar 2023, at 15:34, Humphrey Lopez wrote: > > Can we query the keys as well? Adding QuerySqlField? I think this only > applies to the values right? > > Op wo 22 mrt 2023 om 16:08 schreef Stephen Darlington >