[
https://issues.apache.org/jira/browse/IGNITE-22275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Gusakov updated IGNITE-22275:
------------------------------------
Description:
*Motivation*
In fact, due to many reasons (for example we can't rebalance data between
different RAFT groups and etc.) we can't support the partitions number change
in the zone.
Earlier, when the alter zone was the configuration change - we used the
{{@Immutable}} configuration validation around the partition filed. But now,
after migration to the catalog approach - we loose this guard.
So, we need to implement the any kind of guard to prohibit partitions number
changes.
*Definition of done*
- There is no any public API (DDLs and etc.), where we can change the number
of partitions
*Implementation notes*
- Avoid partitions change in the command and check if the error will be user
friendly
[https://github.com/apache/ignite-3/blob/c41d3e2d46bd2f717fda4f9fe02b18abca08e98a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterZoneCommand.java#L146]
- Also, if the previous error will be ugly, we can remove the {{partitions}}
option from the alterZoneOptions
[here|https://github.com/apache/ignite-3/blob/c41d3e2d46bd2f717fda4f9fe02b18abca08e98a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DdlSqlToCommandConverter.java#L189]
was:
*Motivation*
In fact, due to many reasons (for example we can't rebalance data between
different RAFT groups and etc.) we can't support the partitions number change
in the zone.
Earlier, when the alter zone was the configuration change - we used the
{{@Immutable}} configuration validation around the partition filed. But now,
after migration to the catalog approach - we loose this guard.
So, we need to implement the any kind of guard to prohibit partitions number
changes.
*Definition of done*
- There is no any public API (DDLs and etc.), where we can change the number
of partitions
*Implementation notes*
- Avoid partitions change in the command and check if the error will be user
friendly
https://github.com/apache/ignite-3/blob/c41d3e2d46bd2f717fda4f9fe02b18abca08e98a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterZoneCommand.java#L146
- We can remove the {{partitions}} option from the alterZoneOptions
[here|https://github.com/apache/ignite-3/blob/c41d3e2d46bd2f717fda4f9fe02b18abca08e98a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DdlSqlToCommandConverter.java#L189]
> Avoid partition number change
> -----------------------------
>
> Key: IGNITE-22275
> URL: https://issues.apache.org/jira/browse/IGNITE-22275
> Project: Ignite
> Issue Type: Improvement
> Reporter: Kirill Gusakov
> Priority: Major
>
> *Motivation*
> In fact, due to many reasons (for example we can't rebalance data between
> different RAFT groups and etc.) we can't support the partitions number change
> in the zone.
> Earlier, when the alter zone was the configuration change - we used the
> {{@Immutable}} configuration validation around the partition filed. But now,
> after migration to the catalog approach - we loose this guard.
> So, we need to implement the any kind of guard to prohibit partitions number
> changes.
> *Definition of done*
> - There is no any public API (DDLs and etc.), where we can change the number
> of partitions
> *Implementation notes*
> - Avoid partitions change in the command and check if the error will be user
> friendly
> [https://github.com/apache/ignite-3/blob/c41d3e2d46bd2f717fda4f9fe02b18abca08e98a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterZoneCommand.java#L146]
> - Also, if the previous error will be ugly, we can remove the {{partitions}}
> option from the alterZoneOptions
> [here|https://github.com/apache/ignite-3/blob/c41d3e2d46bd2f717fda4f9fe02b18abca08e98a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ddl/DdlSqlToCommandConverter.java#L189]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)