This is an automated email from the ASF dual-hosted git repository.
jark 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 3744a7517 [docs] Add documentation for updating cluster configs and
table configs (#1870)
3744a7517 is described below
commit 3744a75173111848de7507a16acd77a8aca393ea
Author: Hongshun Wang <[email protected]>
AuthorDate: Sun Nov 2 21:14:39 2025 +0800
[docs] Add documentation for updating cluster configs and table configs
(#1870)
---
website/docs/engine-flink/ddl.md | 29 +++++++++++++
website/docs/engine-flink/options.md | 10 +++--
.../maintenance/operations/graceful-shutdown.md | 11 +++--
.../maintenance/operations/updating-configs.md | 48 ++++++++++++++++++++++
.../maintenance/operations/upgrade-notes-0.9.md | 2 +-
website/docs/maintenance/operations/upgrading.md | 2 +-
website/src/css/custom.css | 2 -
7 files changed, 92 insertions(+), 12 deletions(-)
diff --git a/website/docs/engine-flink/ddl.md b/website/docs/engine-flink/ddl.md
index dd1788e4c..a542db143 100644
--- a/website/docs/engine-flink/ddl.md
+++ b/website/docs/engine-flink/ddl.md
@@ -220,6 +220,35 @@ DROP TABLE my_table;
This will entirely remove all the data of the table in the Fluss cluster.
+## Alter Table
+### SET properties
+The SET statement allows users to configure one or more connector options
including the [Storage Options](engine-flink/options.md#storage-options) for a
specified table. If a particular option is already configured on the table, it
will be overridden with the new value.
+
+When using SET to modify [Storage
Options](engine-flink/options.md#storage-options), the Fluss cluster will
dynamically apply the changes to the table. This can be useful for modifying
table behavior without needing to recreate the table.
+
+**Supported Options to modify**
+- All [Read Options](engine-flink/options.md#read-options), [Write
Options](engine-flink/options.md#write-options), [Lookup
Options](engine-flink/options.md#lookup-options) and [Other
Options](engine-flink/options.md#other-options) except `bootstrap.servers`.
+- The following [Storage Options](engine-flink/options.md#storage-options):
+ - `table.datalake.enabled`: Enable or disable lakehouse storage for the
table.
+
+```sql title="Flink SQL"
+ALTER TABLE my_table SET ('table.datalake.enabled' = 'true');
+```
+
+**Limits**
+- If lakehouse storage (`table.datalake.enabled`) is already enabled for a
table, options with lakehouse format prefixes (e.g., `paimon.*`) cannot be
modified again.
+
+
+### RESET properties
+Reset one or more connector option including the [Storage
Options](engine-flink/options.md#storage-options) to its default value.
+
+The following example illustrates reset the `table.datalake.enabled` option to
its default value `false` on the table.
+
+```sql title="Flink SQL"
+ALTER TABLE my_table RESET ('table.datalake.enabled');
+```
+
+
## Add Partition
Fluss supports manually adding partitions to an existing partitioned table
through the Fluss Catalog. If the specified partition
diff --git a/website/docs/engine-flink/options.md
b/website/docs/engine-flink/options.md
index 3cf7490e4..caddc0f58 100644
--- a/website/docs/engine-flink/options.md
+++ b/website/docs/engine-flink/options.md
@@ -49,15 +49,16 @@ INSERT INTO pk_table2 /*+
OPTIONS('sink.ignore-delete'='true') */ select * from
```
-### Configure options by altering table
+### Reconfigure options by altering table
-This is not supported yet, but is planned in the near future.
-For example, the following SQL statement alters the Fluss table with the
`table.log.ttl` set to 7 days:
+Using `ALTER TABLE ... SET` statement to modify the table options. For
example, to enable lakehouse storage for an existing table, you can run the
following SQL command:
```sql
-ALTER TABLE log_table SET ('table.log.ttl' = '7d');
+ALTER TABLE log_table SET ('table.datalake.enable' = 'true');
```
+See more details about [ALTER TABLE ...
SET](engine-flink/ddl.md#set-properties) and [ALTER TABLE ...
RESET](engine-flink/ddl.md#reset-properties) documentation.
+
## Storage Options
| Option | Type | Default
| Description
[...]
@@ -85,6 +86,7 @@ ALTER TABLE log_table SET ('table.log.ttl' = '7d');
| table.merge-engine.versioned.ver-column | String | (None)
| The column name of the version column for the `versioned` merge
engine. If the merge engine is set to `versioned`, the version column must be
set.
[...]
| table.delete.behavior | Enum | ALLOW
| Controls the behavior of delete operations on primary key tables.
Three modes are supported: `ALLOW` (default) - allows normal delete operations;
`IGNORE` - silently ignores delete requests without errors; `DISABLE` - rejects
delete requests and throws explicit errors. This configuration provides
system-level guarantees for some downstream pipelines (e.g., Flink Delta Join)
that must not receive [...]
+
## Read Options
| Option | Type | Default
| Description
[...]
diff --git a/website/docs/maintenance/operations/graceful-shutdown.md
b/website/docs/maintenance/operations/graceful-shutdown.md
index cb20bcae2..feb4120cb 100644
--- a/website/docs/maintenance/operations/graceful-shutdown.md
+++ b/website/docs/maintenance/operations/graceful-shutdown.md
@@ -1,3 +1,8 @@
+---
+title: Graceful Shutdown
+sidebar_position: 3
+---
+
# Graceful Shutdown
Apache Fluss provides a **comprehensive graceful shutdown mechanism** to
ensure data integrity and proper resource cleanup when stopping servers or
services.
@@ -78,10 +83,8 @@ The controlled shutdown process can be configured using the
following options:
```yaml
# server.yaml
-tablet-server:
- controlled-shutdown:
- max-retries: 5
- retry-interval: 2000ms
+tablet-server.controlled-shutdown.max-retries: 5
+tablet-server.controlled-shutdown.retry-interval: 2000ms
```
## Monitoring Shutdown
diff --git a/website/docs/maintenance/operations/updating-configs.md
b/website/docs/maintenance/operations/updating-configs.md
new file mode 100644
index 000000000..0643a46fe
--- /dev/null
+++ b/website/docs/maintenance/operations/updating-configs.md
@@ -0,0 +1,48 @@
+---
+title: Updating Configs
+sidebar_position: 1
+---
+# Updating Configs
+
+## Overview
+
+Fluss allows you to update cluster or table configurations dynamically without
requiring a cluster restart or table recreation. This section demonstrates how
to modify and apply such configurations.
+
+## Updating Cluster Configs
+
+From Fluss version 0.8 onwards, some of the server configs can be updated
without restarting the server.
+
+Currently, the supported dynamically updatable server configurations include:
+- `datalake.format`: Enable lakehouse storage by specifying the lakehouse
format, e.g., `paimon`, `iceberg`.
+- Options with prefix `datalake.${datalake.format}`
+
+
+You can update the configuration of a cluster with [Java
client](apis/java-client.md).
+Here is a code snippet to demonstrate how to update the cluster configurations
using the Java Client:
+
+```java
+// Enable lakehouse storage with Paimon format
+admin.alterClusterConfigs(
+ Collections.singletonList(
+ new AlterConfig(DATALAKE_FORMAT.key(), "paimon",
AlterConfigOpType.SET)));
+
+// Disable lakehouse storage
+admin.alterClusterConfigs(
+ Collections.singletonList(
+ new AlterConfig(DATALAKE_FORMAT.key(), "paimon",
AlterConfigOpType.DELETE)));
+```
+
+The `AlterConfig` class contains three properties:
+* `key`: The configuration key to be modified (e.g., `datalake.format`)
+* `value`: The configuration value to be set (e.g., `paimon`)
+* `opType`: The operation type, either `AlterConfigOpType.SET` or
`AlterConfigOpType.DELETE`
+
+
+## Updating Table Configs
+
+The connector options on a table including [Storage
Options](engine-flink/options.md#storage-options) can be updated dynamically by
[ALTER TABLE ... SET](engine-flink/ddl.md#alter-table) statement. See the
example below:
+
+```sql
+-- Enable lakehouse storage for the given table
+ALTER TABLE my_table SET ('table.datalake.enabled' = 'true');
+```
\ No newline at end of file
diff --git a/website/docs/maintenance/operations/upgrade-notes-0.9.md
b/website/docs/maintenance/operations/upgrade-notes-0.9.md
index 7d0ba7b32..b8b54df84 100644
--- a/website/docs/maintenance/operations/upgrade-notes-0.9.md
+++ b/website/docs/maintenance/operations/upgrade-notes-0.9.md
@@ -1,6 +1,6 @@
---
title: Upgrade Notes
-sidebar_position: 3
+sidebar_position: 4
---
# Upgrade Notes from v0.8 to v0.9
diff --git a/website/docs/maintenance/operations/upgrading.md
b/website/docs/maintenance/operations/upgrading.md
index f78d23282..581946d94 100644
--- a/website/docs/maintenance/operations/upgrading.md
+++ b/website/docs/maintenance/operations/upgrading.md
@@ -1,6 +1,6 @@
---
title: Upgrading and Compatibility
-sidebar_position: 1
+sidebar_position: 3
---
As an online storage service, Fluss is typically designed to operate over
extended periods, often spanning several years.
diff --git a/website/src/css/custom.css b/website/src/css/custom.css
index 52bebc647..42d4a9a86 100644
--- a/website/src/css/custom.css
+++ b/website/src/css/custom.css
@@ -190,7 +190,6 @@
color: var(--ifm-color-primary);
}
ul {
- margin: 16px 0;
padding-left: 20px;
li {
margin-top: 4px;
@@ -208,7 +207,6 @@
}*/
}
ol {
- margin: 16px 0;
padding-left: 20px;
li {
list-style: decimal;