diff --git a/website/docs/engine-flink/ddl.md b/website/docs/engine-flink/ddl.md index dd1788e4c3..a542db143c 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 9c71e70778..b299f6987f 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 any delete events in the changelog of the table. For tables with `first_row` or `versioned` merge engines, this option is automatically set to `IGNORE` and cannot be overridden. Only applicable to primary key tables. | + ## 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 cb20bcae28..feb4120cb5 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 0000000000..0643a46fec --- /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 7d0ba7b325..b8b54df840 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 f78d232823..581946d946 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 52bebc6478..42d4a9a862 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;