You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fluss.apache.org by yu...@apache.org on 2026/09/14 07:53:30 UTC
(fluss) branch main updated: [lake/iceberg] Ignore Fluss properties in compatibility checks (#4220)
This is an automated email from the ASF dual-hosted git repository.
luoyuxia pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git
The following commit(s) were added to refs/heads/main by this push:
new 9c6c8dcd7 [lake/iceberg] Ignore Fluss properties in compatibility checks (#4220)
9c6c8dcd7 is described below
commit 9c6c8dcd7be148dd6daa258eca51c46adea5957f
Author: litiliu <38...@users.noreply.github.com>
AuthorDate: Mon Sep 14 15:53:25 2026 +0800
[lake/iceberg] Ignore Fluss properties in compatibility checks (#4220)
---
.../main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java | 3 +++
.../java/org/apache/fluss/lake/iceberg/IcebergLakeCatalogTest.java | 5 +++++
2 files changed, 8 insertions(+)
diff --git a/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java
index 8650dc48c..7fe847868 100644
--- a/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java
+++ b/fluss-lake/fluss-lake-iceberg/src/main/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalog.java
@@ -525,6 +525,9 @@ public class IcebergLakeCatalog implements LakeCatalog {
boolean isIcebergPropertiesCompatible(
Map<String, String> existingProperties, Map<String, String> expectedProperties) {
for (Map.Entry<String, String> entry : expectedProperties.entrySet()) {
+ if (entry.getKey().startsWith(FLUSS_CONF_PREFIX)) {
+ continue;
+ }
String actual = existingProperties.get(entry.getKey());
if (actual == null || !actual.equals(entry.getValue())) {
return false;
diff --git a/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalogTest.java b/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalogTest.java
index 868a6bfd4..daf82218f 100644
--- a/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalogTest.java
+++ b/fluss-lake/fluss-lake-iceberg/src/test/java/org/apache/fluss/lake/iceberg/IcebergLakeCatalogTest.java
@@ -1775,6 +1775,11 @@ class IcebergLakeCatalogTest {
existing.put("engine.internal", "whatever");
assertThat(flussIcebergCatalog.isIcebergPropertiesCompatible(existing, expected)).isTrue();
+ // Fluss properties are metadata owned by Fluss and may differ between descriptors.
+ expected.put("fluss.table.replication.factor", "1");
+ existing.put("fluss.table.replication.factor", "2");
+ assertThat(flussIcebergCatalog.isIcebergPropertiesCompatible(existing, expected)).isTrue();
+
// Existing missing an expected key -> incompatible.
existing = new HashMap<>();
existing.put("k1", "v1");