You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Yury Gerzhedovich (Jira)" <ji...@apache.org> on 2022/11/29 09:12:00 UTC

[jira] [Assigned] (IGNITE-18140) Add ability to create, alter and drop distribution zones from within sql-like public API

     [ https://issues.apache.org/jira/browse/IGNITE-18140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yury Gerzhedovich reassigned IGNITE-18140:
------------------------------------------

    Assignee: Yury Gerzhedovich

> Add ability to create, alter and drop distribution zones from within sql-like public API
> ----------------------------------------------------------------------------------------
>
>                 Key: IGNITE-18140
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18140
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Assignee: Yury Gerzhedovich
>            Priority: Major
>              Labels: ignite-3
>
> h3. Motivation
> [IEP-97|https://cwiki.apache.org/confluence/display/IGNITE/IEP-97%3A+Distribution+Zones] introduces new concept of distribution zone along with some assumptions of a corresponding manager that will provide an API to create, alter, and drop zones. It's however an internal API and thus it's required to provide a public one:
> {code:java}
> CREATE ZONE
>     { database_name.schema_name.distribution_zone_name | schema_name.distribution_zone_name | distribution_zone_name }
>     [WITH
>         [
>             <data_nodes_auto_adjust> |
>             DATA_NODES_FILTER = filter |
>             (<data_nodes_auto_adjust>, DATA_NODES_FILTER = filter)
>         ],
>         [PARTITIONS = partitions],
>         [REPLICAS = replicas],
>         [AFFINITY_FUNCTION = function]
>     ]
> [;]
>  
> <data_nodes_auto_adjust> ::= [
>     DATA_NODES_AUTO_ADJUST_SCALE_UP = scale_up_value |
>     DATA_NODES_AUTO_ADJUST_SCALE_DOWN = scale_down_value |
>     (DATA_NODES_AUTO_ADJUST_SCALE_UP = scale_up_value & DATA_NODES_AUTO_ADJUST_SCALE_DOWN = scale_down_value) | DATA_NODES_AUTO_ADJUST  = auto_adjust_value
> ]{code}
> Few examples
> {code:java}
> Ex 1.1: CREATE ZONE zone1 WITH DATA_NODES_AUTO_ADJUST_SCALE_UP = 300, PARTITIONS = 1024, REPLICAS = 3, AFFINITY_FUNCTION = rendezvous; // Scale up only.
>  
> Ex 1.2: CREATE ZONE zone2 WITH DATA_NODES_AUTO_ADJUST_SCALE_UP = 300, DATA_NODES_AUTO_ADJUST_SCALE_DOWN = 300; // Both scale up and scale down. Default partitions count, replicas count and affinity function will be used.
>  
> Ex 1.3: CREATE ZONE zone2 WITH DATA_NODES_AUTO_ADJUST = 100; // Same value for both scale up and scale down. Default partitions count, replicas count and affinity function will be used. 
> Ex 1.4: CREATE ZONES zone 4 WITH DATA_NODES_FILTER= ‘(“US” || “EU”) && “SSD”’; //  Defail just node filters
> {code}
> And yes, similar syntax is expected for altering and dropping distribution zones.
> h3. Definition of Done
>  * It's possible to create/alter/drop distribution zones, meaning that corresponding methods of distribution zone manager are called. 
>  * Exceptions if any, e.g. validation ones are properly wrapped and returned back to the user.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)