You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2018/11/16 17:59:00 UTC

[jira] [Created] (IGNITE-10309) SQL: Ability to specifiy affinity function equality during table creation

Vladimir Ozerov created IGNITE-10309:
----------------------------------------

             Summary: SQL: Ability to specifiy affinity function equality during table creation
                 Key: IGNITE-10309
                 URL: https://issues.apache.org/jira/browse/IGNITE-10309
             Project: Ignite
          Issue Type: Task
          Components: sql
            Reporter: Vladimir Ozerov
             Fix For: 2.8


Currently users may specify affinity key in {{CREATE TABLE}} command. However, there are situations when custom affintiy function or custom affinity mapper are used. In this case we do not know what actual fields are used for affinity calculation, neither we know if two affinity functions are equal and produce deterministic results *. In this case we may want to give user ability to confirm on his own risk that certain caches has the same affinity functions and are co-located. 

To achieve this all we need is to add new string parameter, say, {{AFFINITY_FUNCTION_KEY}}. Then, if we meet caches with unknown affinity function, we may compare their affinity functions keys. If they match, then we may treat them co-located and extract partitions successfully.

* Remember our {{RendezvousAffinityFunction}} which is stateless, and old {{FairAffinityFunction}} which depend on cluster history and may produce different distributions between two caches even if two caches has the same function parameters.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)