Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions website/docs/engine-flink/ddl.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 6 additions & 4 deletions website/docs/engine-flink/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down Expand Up @@ -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 |
Expand Down
11 changes: 7 additions & 4 deletions website/docs/maintenance/operations/graceful-shutdown.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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
Expand Down
48 changes: 48 additions & 0 deletions website/docs/maintenance/operations/updating-configs.md
Original file line number Diff line number Diff line change
@@ -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');
```
2 changes: 1 addition & 1 deletion website/docs/maintenance/operations/upgrade-notes-0.9.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Upgrade Notes
sidebar_position: 3
sidebar_position: 4
---

# Upgrade Notes from v0.8 to v0.9
Expand Down
2 changes: 1 addition & 1 deletion website/docs/maintenance/operations/upgrading.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
2 changes: 0 additions & 2 deletions website/src/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,6 @@
color: var(--ifm-color-primary);
}
ul {
margin: 16px 0;
padding-left: 20px;
li {
margin-top: 4px;
Expand All @@ -208,7 +207,6 @@
}*/
}
ol {
margin: 16px 0;
padding-left: 20px;
li {
list-style: decimal;
Expand Down