Copilot commented on code in PR #2924:
URL: https://github.com/apache/fluss/pull/2924#discussion_r2986720467
##########
website/docs/maintenance/configuration.md:
##########
@@ -188,9 +188,10 @@ More metrics example could be found in [Observability -
Metric Reporters](observ
| metrics.reporter.prometheus-push.grouping-key | String | (None)
| Specifies the grouping key which is the group and global labels of all
metrics. The label name and value are separated by '=', and labels are
separated by ';', e.g., k1=v1;k2=v2.
|
## Lakehouse
-| Option | Type | Default | Description
|
-|-----------------|------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| datalake.format | Enum | (None) | The datalake format used by of Fluss to
be as lakehouse storage. Currently, supported formats are Paimon, Iceberg, and
Lance. In the future, more kinds of data lake format will be supported, such as
DeltaLake or Hudi. |
+| Option | Type | Default | Description
|
+|------------------|---------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| datalake.enabled | Boolean | (None) | Whether the Fluss cluster is ready to
create and manage lakehouse tables. If unset, Fluss keeps the legacy behavior
where configuring `datalake.format` also enables lakehouse tables. If set to
`false`, Fluss pre-binds the lake format for newly created tables but does not
allow lakehouse tables yet. If set to `true`, Fluss fully enables lakehouse
tables. When this option is explicitly configured to true, `datalake.format`
must also be configured. |
+| datalake.format | Enum | (None) | The datalake format used by of Fluss
to be as lakehouse storage. Currently, supported formats are Paimon, Iceberg,
and Lance. In the future, more kinds of data lake format will be supported,
such as DeltaLake or Hudi.
|
Review Comment:
Grammar in the `datalake.format` description is incorrect (“used by of Fluss
to be as lakehouse storage”). Please rephrase (e.g., “used by Fluss as
lakehouse storage”) to match the wording used in
`ConfigOptions.DATALAKE_FORMAT`.
```suggestion
| datalake.format | Enum | (None) | The datalake format used by Fluss
as lakehouse storage. Currently, supported formats are Paimon, Iceberg, and
Lance. In the future, more kinds of data lake format will be supported, such as
DeltaLake or Hudi.
|
```
##########
website/docs/maintenance/operations/upgrade-notes-0.10.md:
##########
@@ -4,3 +4,41 @@ sidebar_position: 4
---
# Upgrade Notes from v0.9 to v0.10
+
+## Cluster Configuration Changes
+
+### New `datalake.enabled` Cluster Configuration
+
+Starting in v0.10, Fluss introduces the cluster-level configuration
`datalake.enabled` to control whether the cluster is ready to create and manage
lakehouse tables.
+
+#### Behavior Changes
+
+- If `datalake.enabled` is unset, Fluss preserves the legacy behavior:
configuring `datalake.format` alone also enables lakehouse tables.
+- If `datalake.enabled = false`, Fluss pre-binds the lake format for newly
created tables but does not allow lakehouse tables yet.
+- If `datalake.enabled = true`, Fluss fully enables lakehouse tables.
+- If `datalake.enabled` is explicitly configured, `datalake.format` must also
be configured.
Review Comment:
The upgrade note says that if `datalake.enabled` is explicitly configured,
`datalake.format` must also be configured. Elsewhere in the docs (and in the
current validation logic) the requirement is only when `datalake.enabled` is
explicitly set to `true`. Please clarify this bullet to match the intended
behavior (and, if `datalake.enabled=false` can be used without a format, note
that pre-bind semantics require setting the format).
```suggestion
- If `datalake.enabled` is explicitly set to `true`, `datalake.format` must
also be configured. When `datalake.enabled = false`, `datalake.format` is
optional, but required if you want the pre-bind behavior described above.
```
##########
fluss-common/src/main/java/org/apache/fluss/config/ConfigOptions.java:
##########
@@ -1993,12 +1993,24 @@ public class ConfigOptions {
// ------------------------------------------------------------------------
// ConfigOptions for lakehouse storage
// ------------------------------------------------------------------------
+ public static final ConfigOption<Boolean> DATALAKE_ENABLED =
+ key("datalake.enabled")
+ .booleanType()
+ .noDefaultValue()
+ .withDescription(
+ "Whether the Fluss cluster is ready to create and
manage lakehouse tables. "
+ + "If unset, Fluss keeps the legacy
behavior where configuring `datalake.format` "
+ + "also enables lakehouse tables. If set
to `false`, Fluss pre-binds the lake format "
+ + "for newly created tables but does not
allow lakehouse tables yet. If set to `true`, "
+ + "Fluss fully enables lakehouse tables.
When this option is explicitly configured, "
Review Comment:
The `datalake.enabled` description says that when the option is "explicitly
configured", `datalake.format` must also be configured, but the server-side
validation/enforcement currently only requires `datalake.format` when
`datalake.enabled` is explicitly set to `true`. Please align the wording with
the actual semantics (e.g., specify “explicitly set to true”) to avoid
misleading operators.
```suggestion
+ "Fluss fully enables lakehouse tables.
When this option is explicitly set to `true`, "
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]