This is an automated email from the ASF dual-hosted git repository.

lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new a1c2bf6c2e [core] Don't check -2 and fixed buckets changes (#6485)
a1c2bf6c2e is described below

commit a1c2bf6c2eddcd02c7264ef03ba305d8c93ea399
Author: yuzelin <[email protected]>
AuthorDate: Tue Oct 28 18:21:55 2025 +0800

    [core] Don't check -2 and fixed buckets changes (#6485)
---
 .../java/org/apache/paimon/schema/SchemaManager.java     | 16 ++--------------
 .../org/apache/paimon/table/AbstractFileStoreTable.java  |  7 +------
 .../apache/paimon/flink/AbstractFlinkTableFactory.java   |  2 +-
 3 files changed, 4 insertions(+), 21 deletions(-)

diff --git 
a/paimon-core/src/main/java/org/apache/paimon/schema/SchemaManager.java 
b/paimon-core/src/main/java/org/apache/paimon/schema/SchemaManager.java
index cbfe81b3a9..cc8df58b2a 100644
--- a/paimon-core/src/main/java/org/apache/paimon/schema/SchemaManager.java
+++ b/paimon-core/src/main/java/org/apache/paimon/schema/SchemaManager.java
@@ -36,7 +36,6 @@ import 
org.apache.paimon.schema.SchemaChange.UpdateColumnNullability;
 import org.apache.paimon.schema.SchemaChange.UpdateColumnPosition;
 import org.apache.paimon.schema.SchemaChange.UpdateColumnType;
 import org.apache.paimon.schema.SchemaChange.UpdateComment;
-import org.apache.paimon.table.BucketMode;
 import org.apache.paimon.table.FileStoreTableFactory;
 import org.apache.paimon.types.ArrayType;
 import org.apache.paimon.types.DataField;
@@ -298,10 +297,7 @@ public class SchemaManager implements Serializable {
                 SetOption setOption = (SetOption) change;
                 if (hasSnapshots.get()) {
                     checkAlterTableOption(
-                            setOption.key(),
-                            oldOptions.get(setOption.key()),
-                            setOption.value(),
-                            false);
+                            setOption.key(), oldOptions.get(setOption.key()), 
setOption.value());
                 }
                 newOptions.put(setOption.key(), setOption.value());
             } else if (change instanceof RemoveOption) {
@@ -1076,7 +1072,7 @@ public class SchemaManager implements Serializable {
     }
 
     public static void checkAlterTableOption(
-            String key, @Nullable String oldValue, String newValue, boolean 
fromDynamicOptions) {
+            String key, @Nullable String oldValue, String newValue) {
         if (CoreOptions.IMMUTABLE_OPTIONS.contains(key)) {
             throw new UnsupportedOperationException(
                     String.format("Change '%s' is not supported yet.", key));
@@ -1089,20 +1085,12 @@ public class SchemaManager implements Serializable {
                             : Integer.parseInt(oldValue);
             int newBucket = Integer.parseInt(newValue);
 
-            if (fromDynamicOptions) {
-                throw new UnsupportedOperationException(
-                        "Cannot change bucket number through dynamic options. 
You might need to rescale bucket.");
-            }
             if (oldBucket == -1) {
                 throw new UnsupportedOperationException("Cannot change bucket 
when it is -1.");
             }
             if (newBucket == -1) {
                 throw new UnsupportedOperationException("Cannot change bucket 
to -1.");
             }
-            if (oldBucket == BucketMode.POSTPONE_BUCKET) {
-                throw new UnsupportedOperationException(
-                        "Cannot change bucket for postpone bucket tables.");
-            }
         }
     }
 
diff --git 
a/paimon-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java 
b/paimon-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java
index 55892e25ee..ea8fff0c85 100644
--- 
a/paimon-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java
+++ 
b/paimon-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java
@@ -318,12 +318,7 @@ abstract class AbstractFileStoreTable implements 
FileStoreTable {
                 (k, newValue) -> {
                     String oldValue = oldOptions.get(k);
                     if (!Objects.equals(oldValue, newValue)) {
-                        SchemaManager.checkAlterTableOption(k, oldValue, 
newValue, true);
-
-                        if (CoreOptions.BUCKET.key().equals(k)) {
-                            throw new UnsupportedOperationException(
-                                    "Cannot change bucket number through 
dynamic options. You might need to rescale bucket.");
-                        }
+                        SchemaManager.checkAlterTableOption(k, oldValue, 
newValue);
                     }
                 });
     }
diff --git 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/AbstractFlinkTableFactory.java
 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/AbstractFlinkTableFactory.java
index 871b1a657f..755b6f8024 100644
--- 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/AbstractFlinkTableFactory.java
+++ 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/AbstractFlinkTableFactory.java
@@ -198,7 +198,7 @@ public abstract class AbstractFlinkTableFactory
                 (key, newValue) -> {
                     String oldValue = origin.getOptions().get(key);
                     if (!Objects.equals(oldValue, newValue)) {
-                        SchemaManager.checkAlterTableOption(key, oldValue, 
newValue, true);
+                        SchemaManager.checkAlterTableOption(key, oldValue, 
newValue);
                     }
                 });
         Map<String, String> newOptions = new HashMap<>();

Reply via email to