[
https://issues.apache.org/jira/browse/IGNITE-23449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mirza Aliev updated IGNITE-23449:
---------------------------------
Description:
h3. Motivation
In
[IEP-131|https://cwiki.apache.org/confluence/display/IGNITE/IEP-131%3A+Partition+Majority+Unavailability+Handling]
we introduce
new filed in zone descriptor called {{consistencyMode}}.
{code:java}
/**
* Specifies the consistency mode of the zone, determining how the system
balances data consistency and availability.
*
* <p>
* Possible values are:
* <ul>
* <li><b>STRONG_CONSISTENCY</b>: Ensures strong consistency by requiring
a majority of nodes for operations.
* Partitions become unavailable if the majority of assigned nodes
are lost.</li>
* <li><b>HIGH_AVAILABILITY</b>: Prioritizes availability over strict
consistency, allowing partitions to remain
* available for read-write operations even when the majority of
assigned nodes are offline. The system
* reconfigures the RAFT group to include only the available nodes
without changing the assignments.</li>
* </ul>
* </p>
*/
private final ConsistencyMode consistencyMode;
{code}
{{STRONG_CONSISTENCY}} is the current behaviour of zones/partitions in AI3.
We must forbid to change this flag, so it must be immutable and must be
configured only on a zone creation.
It must be possible to set this filed through the SQL
{code:SQL}
// Some comments here
CREATE ZONE IF NOT EXISTS exampleZone WITH CONSISTENCY_MODE='HIGH_AVAILABILITY'
{code}
h3. Implementation notes
{{DdlSqlToCommandConverter}} must be expanded with {{CONSISTENCY_MODE}} option
along with {{IgniteCatalogSqlImpl}}.
h3. Definition of Done
* New filed in zone descriptor called {{consistencyMode}} is introduced.
* It must be {{STRONG_CONSISTENCY}} or {{HIGH_AVAILABILITY}}
* This field must be immutable and it must be possible set it only on a zone
creation.
was:
We need to make possible to configure zone as Highly Available on a zone
creation. We must forbid to change this flag, so it must be immutable and must
be configured only on a zone creation.
> Add support of the new flag HA in zone description
> --------------------------------------------------
>
> Key: IGNITE-23449
> URL: https://issues.apache.org/jira/browse/IGNITE-23449
> Project: Ignite
> Issue Type: Improvement
> Reporter: Mirza Aliev
> Assignee: Mirza Aliev
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> In
> [IEP-131|https://cwiki.apache.org/confluence/display/IGNITE/IEP-131%3A+Partition+Majority+Unavailability+Handling]
> we introduce
> new filed in zone descriptor called {{consistencyMode}}.
> {code:java}
> /**
> * Specifies the consistency mode of the zone, determining how the system
> balances data consistency and availability.
> *
> * <p>
> * Possible values are:
> * <ul>
> * <li><b>STRONG_CONSISTENCY</b>: Ensures strong consistency by
> requiring a majority of nodes for operations.
> * Partitions become unavailable if the majority of assigned nodes
> are lost.</li>
> * <li><b>HIGH_AVAILABILITY</b>: Prioritizes availability over strict
> consistency, allowing partitions to remain
> * available for read-write operations even when the majority of
> assigned nodes are offline. The system
> * reconfigures the RAFT group to include only the available nodes
> without changing the assignments.</li>
> * </ul>
> * </p>
> */
> private final ConsistencyMode consistencyMode;
> {code}
> {{STRONG_CONSISTENCY}} is the current behaviour of zones/partitions in AI3.
>
> We must forbid to change this flag, so it must be immutable and must be
> configured only on a zone creation.
> It must be possible to set this filed through the SQL
> {code:SQL}
> // Some comments here
> CREATE ZONE IF NOT EXISTS exampleZone WITH
> CONSISTENCY_MODE='HIGH_AVAILABILITY'
> {code}
> h3. Implementation notes
> {{DdlSqlToCommandConverter}} must be expanded with {{CONSISTENCY_MODE}}
> option along with {{IgniteCatalogSqlImpl}}.
> h3. Definition of Done
> * New filed in zone descriptor called {{consistencyMode}} is introduced.
> * It must be {{STRONG_CONSISTENCY}} or {{HIGH_AVAILABILITY}}
> * This field must be immutable and it must be possible set it only on a zone
> creation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)