You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Alexei Scherbakov (JIRA)" <ji...@apache.org> on 2017/01/18 13:09:26 UTC

[jira] [Created] (IGNITE-4557) Wrong method is called on rebalancing.

Alexei Scherbakov created IGNITE-4557:
-----------------------------------------

             Summary: Wrong method is called on rebalancing.
                 Key: IGNITE-4557
                 URL: https://issues.apache.org/jira/browse/IGNITE-4557
             Project: Ignite
          Issue Type: Bug
          Components: cache
    Affects Versions: 1.6
            Reporter: Alexei Scherbakov
            Assignee: Alexei Scherbakov
            Priority: Critical
             Fix For: 2.0


During rebalancing the following code might be called from {{GridDhtPartitionDemander:695}}:

{noformat}
for (Integer miss : supply.missed()) {
      if (cctx.affinity().localNode(miss, topVer))
            fut.partitionMissed(id, miss);
}
{noformat}

The problem is in wrong polymorphic call to

{noformat}
public boolean localNode(Object key, AffinityTopologyVersion topVer)}}
{noformat}

Instead the following must be called:

{noformat}
public boolean localNode(int part, AffinityTopologyVersion topVer);.
{noformat}

Also a codebase must be verified for existing similar problems and its better to rename both methods to keyLocalNode and partitionLocalNode to avoid confusion.






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)