ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pavel Tupitsyn <ptupit...@apache.org>
Subject Re: Get by key only working on .net for certain long literal values
Date Wed, 07 Jun 2017 14:26:41 GMT
Hi Gordon,

Seems like all your threads are related:
http://apache-ignite-users.70518.x6.nabble.com/BinaryIdentityResolver-is-gone-in-2-0-but-default-seems-to-have-a-problem-td13444.html
http://apache-ignite-users.70518.x6.nabble.com/UPDATED-BinaryIdentityResolver-is-gone-in-2-0-but-default-seems-to-have-a-problem-td13445.html

Let's discuss them here.

First of all, can you confirm that you are on Ignite 2.0?

Pavel

On Wed, Jun 7, 2017 at 11:03 AM, Gordon Reid (Nine Mile) <
gordon.reid@ninemilefinancial.com> wrote:

> Hi There,
>
>
>
> This one is very strange.
>
>
>
> I have a .NET client, Java client and Java server. All running locally on
> windows desktop.
>
>
>
> On the server side I have some cache entries, SecurityKey,Security
>
>
>
> I have two Security objects, one with id=4 and one with id=953
>
>
>
> On the Java client, this works no problem
>
>
>
> SystemContext.getCache().get(new SecurityKey(4));
>
> SystemContext.getCache().get(new SecurityKey(953));
>
>
>
>
>
> On the .NET client
>
>
>
> (Security)SystemContext.Cache.Get(new SecurityKey() { Id = 4 });
>
>
>
> Will succeed
>
>
>
> (Security)SystemContext.Cache.Get(new SecurityKey() { Id = 953 });
>
>
>
> Will FAIL, with KeyNotFoundException
>
>
>
> This is the case 100% of the time, even after full restart of the
> environment. The only thing that seems to cause the problem is the literal
> value of the id
>
>
>
> Also note that if I iterate over the cache on the .NET side, I can
> absolutely see the SecurityKey with id=953, but I will see KeyNotFound when
> I try to Get
>
>
>
>             foreach (var e in SystemContext.Cache)
>
>             {
>
>                 if (e.Key is SecurityKey)
>
>                 {
>
>                     Log.Info(((SecurityKey)e.Key).Id); // this will print
> both 4 and 953
>
>                 }
>
>             }
>
>
>
> My only guess here is that something funny is going on internally with the
> hashing of the binary object fields. So the equality test is failing when
> the get is done from the .NET client??
>
>
>
> I have attached the key class as it is on the .NET side and the Java side.
>
>
>
> Any thoughts are much appreciated. Thanks!
>
>
>
>
>
> This email and any attachments are proprietary & confidential and are
> intended solely for the use of the individuals to whom it is addressed. Any
> views or opinions expressed are solely for those of the author and do not
> necessarily reflect those of Nine Mile Financial Pty. Limited. If you have
> received this email in error, please let us know immediately by reply email
> and delete from your system. Nine Mile Financial Pty. Limited. ABN: 346
> 1349 0252
>

Mime
View raw message