From 9dc8e8200ecef9e5ede4c073c7fe8ccf150f1db1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 29 Dec 2025 08:27:19 +0000 Subject: [PATCH 1/9] Initial plan From 3955f7b1a7b2c232c8da7e2d7f09b1f8fa4bed8a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 29 Dec 2025 08:34:41 +0000 Subject: [PATCH 2/9] Add distributed time constants and client timeouts configuration documentation Co-authored-by: WenyXu <32535939+WenyXu@users.noreply.github.com> --- .../deployments-administration/configuration.md | 12 ++++++++++++ .../deployments-administration/configuration.md | 12 ++++++++++++ .../deployments-administration/configuration.md | 12 ++++++++++++ .../deployments-administration/configuration.md | 12 ++++++++++++ 4 files changed, 48 insertions(+) diff --git a/docs/user-guide/deployments-administration/configuration.md b/docs/user-guide/deployments-administration/configuration.md index 72c997c58..f78c57772 100644 --- a/docs/user-guide/deployments-administration/configuration.md +++ b/docs/user-guide/deployments-administration/configuration.md @@ -606,6 +606,16 @@ region_failure_detector_initialization_delay = "10m" # because it may lead to data loss during failover.** allow_region_failover_on_local_wal = false +## Max allowed idle time before removing node info from metasrv memory. +node_max_idle_time = "24hours" + +## Base heartbeat interval for calculating distributed time constants. +## The frontend heartbeat interval is 6 times of the base heartbeat interval. +## The flownode/datanode heartbeat interval is 1 times of the base heartbeat interval. +## e.g., If the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. +## If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly. +heartbeat_interval = "3s" + ## Procedure storage options. [procedure] @@ -715,6 +725,8 @@ create_topic_timeout = "30s" | `enable_region_failover` | Bool | `false` | Whether to enable region failover.
This feature is only available on GreptimeDB running on cluster mode and
- Using Remote WAL
- Using shared storage (e.g., s3). | | `region_failure_detector_initialization_delay` | String | `10m` | The delay before starting region failure detection. This delay helps prevent Metasrv from triggering unnecessary region failovers before all Datanodes are fully started. Especially useful when the cluster is not deployed with GreptimeDB Operator and maintenance mode is not enabled. | | `allow_region_failover_on_local_wal` | Bool | `false` | Whether to allow region failover on local WAL.
**This option is not recommended to be set to true, because it may lead to data loss during failover.** | +| `node_max_idle_time` | String | `24hours` | Max allowed idle time before removing node info from metasrv memory. Nodes that haven't sent heartbeats for this duration will be considered inactive and removed. | +| `heartbeat_interval` | String | `3s` | Base heartbeat interval for calculating distributed time constants. The frontend heartbeat interval is 6 times of the base heartbeat interval. The flownode/datanode heartbeat interval is 1 times of the base heartbeat interval. For example, if the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. **If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly.** | | `backend` | String | `etcd_store` | The datastore for metasrv.
- `etcd_store` (default)
- `memory_store` (In memory metadata storage - only used for testing.)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | Table name in RDS to store metadata. Effect when using a RDS kvbackend.
**Only used when backend is `postgres_store` or `mysql_store`.** | | `meta_election_lock_id` | Integer | `1` | Advisory lock id in PostgreSQL for election. Effect when using PostgreSQL as kvbackend
**Only used when backend is `postgres_store`.** | diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md index 102461682..dd2e23b4c 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md @@ -597,6 +597,16 @@ region_failure_detector_initialization_delay = "10m" # 因为这可能会在故障转移期间导致数据丢失。** allow_region_failover_on_local_wal = false +## 从 metasrv 内存中删除节点信息前允许的最大空闲时间。 +node_max_idle_time = "24hours" + +## 用于计算分布式时间常量的基础心跳间隔。 +## frontend 的心跳间隔是基础心跳间隔的 6 倍。 +## flownode/datanode 的心跳间隔是基础心跳间隔的 1 倍。 +## 例如,如果基础心跳间隔为 3s,则 frontend 心跳间隔为 18s,flownode/datanode 心跳间隔为 3s。 +## 如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。 +heartbeat_interval = "3s" + ## Procedure 选项 [procedure] @@ -688,6 +698,8 @@ create_topic_timeout = "30s" | `enable_region_failover` | Bool | `false` | 是否启用 region failover。
该功能仅在以集群模式运行的 GreptimeDB 上可用,并且
- 使用远程 WAL
- 使用共享存储(如 s3)。 | | `region_failure_detector_initialization_delay` | String | `10m` | 设置启动 region 故障检测的延迟时间。该延迟有助于避免在所有 Datanode 尚未完全启动时,Metasrv 过早启动 region 故障检测,从而导致不必要的 region failover。尤其适用于未通过 GreptimeDB Operator 部署的集群,此时可能未正确启用集群维护模式,提前检测可能会引发误判。 | | `allow_region_failover_on_local_wal` | Bool | false | 是否允许在本地 WAL 上进行 region failover。
**此选项不建议设置为 true,因为这可能会在故障转移期间导致数据丢失。** | +| `node_max_idle_time` | String | `24hours` | 从 metasrv 内存中删除节点信息前允许的最大空闲时间。超过该时间未发送心跳的节点将被视为不活跃并被删除。 | +| `heartbeat_interval` | String | `3s` | 用于计算分布式时间常量的基础心跳间隔。frontend 的心跳间隔是基础心跳间隔的 6 倍。flownode/datanode 的心跳间隔是基础心跳间隔的 1 倍。例如,如果基础心跳间隔为 3s,则 frontend 心跳间隔为 18s,flownode/datanode 心跳间隔为 3s。**如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。** | | `backend` | String | `etcd_store` | 元数据存储类型。
- `etcd_store` (默认)
- `memory_store` (纯内存存储 - 仅用于测试)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | 使用 RDS 存储元数据时的表名。**仅在 backend 为 postgre_store 和 mysql_store 时有效。** | | `meta_election_lock_id` | Integer | `1` | 用于领导选举的 PostgreSQL 咨询锁 id。**仅在 backend 为 postgre_store 时有效。** | diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md index 102461682..dd2e23b4c 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md @@ -597,6 +597,16 @@ region_failure_detector_initialization_delay = "10m" # 因为这可能会在故障转移期间导致数据丢失。** allow_region_failover_on_local_wal = false +## 从 metasrv 内存中删除节点信息前允许的最大空闲时间。 +node_max_idle_time = "24hours" + +## 用于计算分布式时间常量的基础心跳间隔。 +## frontend 的心跳间隔是基础心跳间隔的 6 倍。 +## flownode/datanode 的心跳间隔是基础心跳间隔的 1 倍。 +## 例如,如果基础心跳间隔为 3s,则 frontend 心跳间隔为 18s,flownode/datanode 心跳间隔为 3s。 +## 如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。 +heartbeat_interval = "3s" + ## Procedure 选项 [procedure] @@ -688,6 +698,8 @@ create_topic_timeout = "30s" | `enable_region_failover` | Bool | `false` | 是否启用 region failover。
该功能仅在以集群模式运行的 GreptimeDB 上可用,并且
- 使用远程 WAL
- 使用共享存储(如 s3)。 | | `region_failure_detector_initialization_delay` | String | `10m` | 设置启动 region 故障检测的延迟时间。该延迟有助于避免在所有 Datanode 尚未完全启动时,Metasrv 过早启动 region 故障检测,从而导致不必要的 region failover。尤其适用于未通过 GreptimeDB Operator 部署的集群,此时可能未正确启用集群维护模式,提前检测可能会引发误判。 | | `allow_region_failover_on_local_wal` | Bool | false | 是否允许在本地 WAL 上进行 region failover。
**此选项不建议设置为 true,因为这可能会在故障转移期间导致数据丢失。** | +| `node_max_idle_time` | String | `24hours` | 从 metasrv 内存中删除节点信息前允许的最大空闲时间。超过该时间未发送心跳的节点将被视为不活跃并被删除。 | +| `heartbeat_interval` | String | `3s` | 用于计算分布式时间常量的基础心跳间隔。frontend 的心跳间隔是基础心跳间隔的 6 倍。flownode/datanode 的心跳间隔是基础心跳间隔的 1 倍。例如,如果基础心跳间隔为 3s,则 frontend 心跳间隔为 18s,flownode/datanode 心跳间隔为 3s。**如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。** | | `backend` | String | `etcd_store` | 元数据存储类型。
- `etcd_store` (默认)
- `memory_store` (纯内存存储 - 仅用于测试)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | 使用 RDS 存储元数据时的表名。**仅在 backend 为 postgre_store 和 mysql_store 时有效。** | | `meta_election_lock_id` | Integer | `1` | 用于领导选举的 PostgreSQL 咨询锁 id。**仅在 backend 为 postgre_store 时有效。** | diff --git a/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md b/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md index 72c997c58..f78c57772 100644 --- a/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md +++ b/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md @@ -606,6 +606,16 @@ region_failure_detector_initialization_delay = "10m" # because it may lead to data loss during failover.** allow_region_failover_on_local_wal = false +## Max allowed idle time before removing node info from metasrv memory. +node_max_idle_time = "24hours" + +## Base heartbeat interval for calculating distributed time constants. +## The frontend heartbeat interval is 6 times of the base heartbeat interval. +## The flownode/datanode heartbeat interval is 1 times of the base heartbeat interval. +## e.g., If the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. +## If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly. +heartbeat_interval = "3s" + ## Procedure storage options. [procedure] @@ -715,6 +725,8 @@ create_topic_timeout = "30s" | `enable_region_failover` | Bool | `false` | Whether to enable region failover.
This feature is only available on GreptimeDB running on cluster mode and
- Using Remote WAL
- Using shared storage (e.g., s3). | | `region_failure_detector_initialization_delay` | String | `10m` | The delay before starting region failure detection. This delay helps prevent Metasrv from triggering unnecessary region failovers before all Datanodes are fully started. Especially useful when the cluster is not deployed with GreptimeDB Operator and maintenance mode is not enabled. | | `allow_region_failover_on_local_wal` | Bool | `false` | Whether to allow region failover on local WAL.
**This option is not recommended to be set to true, because it may lead to data loss during failover.** | +| `node_max_idle_time` | String | `24hours` | Max allowed idle time before removing node info from metasrv memory. Nodes that haven't sent heartbeats for this duration will be considered inactive and removed. | +| `heartbeat_interval` | String | `3s` | Base heartbeat interval for calculating distributed time constants. The frontend heartbeat interval is 6 times of the base heartbeat interval. The flownode/datanode heartbeat interval is 1 times of the base heartbeat interval. For example, if the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. **If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly.** | | `backend` | String | `etcd_store` | The datastore for metasrv.
- `etcd_store` (default)
- `memory_store` (In memory metadata storage - only used for testing.)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | Table name in RDS to store metadata. Effect when using a RDS kvbackend.
**Only used when backend is `postgres_store` or `mysql_store`.** | | `meta_election_lock_id` | Integer | `1` | Advisory lock id in PostgreSQL for election. Effect when using PostgreSQL as kvbackend
**Only used when backend is `postgres_store`.** | From 0938b293cca11830db6e8344dcd52e741ce91eed Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 29 Dec 2025 08:36:42 +0000 Subject: [PATCH 3/9] Fix grammar: change '1 times' to '1 time' in heartbeat_interval documentation Co-authored-by: WenyXu <32535939+WenyXu@users.noreply.github.com> --- docs/user-guide/deployments-administration/configuration.md | 4 ++-- .../user-guide/deployments-administration/configuration.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/user-guide/deployments-administration/configuration.md b/docs/user-guide/deployments-administration/configuration.md index f78c57772..173ee541b 100644 --- a/docs/user-guide/deployments-administration/configuration.md +++ b/docs/user-guide/deployments-administration/configuration.md @@ -611,7 +611,7 @@ node_max_idle_time = "24hours" ## Base heartbeat interval for calculating distributed time constants. ## The frontend heartbeat interval is 6 times of the base heartbeat interval. -## The flownode/datanode heartbeat interval is 1 times of the base heartbeat interval. +## The flownode/datanode heartbeat interval is 1 time of the base heartbeat interval. ## e.g., If the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. ## If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly. heartbeat_interval = "3s" @@ -726,7 +726,7 @@ create_topic_timeout = "30s" | `region_failure_detector_initialization_delay` | String | `10m` | The delay before starting region failure detection. This delay helps prevent Metasrv from triggering unnecessary region failovers before all Datanodes are fully started. Especially useful when the cluster is not deployed with GreptimeDB Operator and maintenance mode is not enabled. | | `allow_region_failover_on_local_wal` | Bool | `false` | Whether to allow region failover on local WAL.
**This option is not recommended to be set to true, because it may lead to data loss during failover.** | | `node_max_idle_time` | String | `24hours` | Max allowed idle time before removing node info from metasrv memory. Nodes that haven't sent heartbeats for this duration will be considered inactive and removed. | -| `heartbeat_interval` | String | `3s` | Base heartbeat interval for calculating distributed time constants. The frontend heartbeat interval is 6 times of the base heartbeat interval. The flownode/datanode heartbeat interval is 1 times of the base heartbeat interval. For example, if the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. **If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly.** | +| `heartbeat_interval` | String | `3s` | Base heartbeat interval for calculating distributed time constants. The frontend heartbeat interval is 6 times of the base heartbeat interval. The flownode/datanode heartbeat interval is 1 time of the base heartbeat interval. For example, if the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. **If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly.** | | `backend` | String | `etcd_store` | The datastore for metasrv.
- `etcd_store` (default)
- `memory_store` (In memory metadata storage - only used for testing.)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | Table name in RDS to store metadata. Effect when using a RDS kvbackend.
**Only used when backend is `postgres_store` or `mysql_store`.** | | `meta_election_lock_id` | Integer | `1` | Advisory lock id in PostgreSQL for election. Effect when using PostgreSQL as kvbackend
**Only used when backend is `postgres_store`.** | diff --git a/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md b/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md index f78c57772..173ee541b 100644 --- a/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md +++ b/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md @@ -611,7 +611,7 @@ node_max_idle_time = "24hours" ## Base heartbeat interval for calculating distributed time constants. ## The frontend heartbeat interval is 6 times of the base heartbeat interval. -## The flownode/datanode heartbeat interval is 1 times of the base heartbeat interval. +## The flownode/datanode heartbeat interval is 1 time of the base heartbeat interval. ## e.g., If the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. ## If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly. heartbeat_interval = "3s" @@ -726,7 +726,7 @@ create_topic_timeout = "30s" | `region_failure_detector_initialization_delay` | String | `10m` | The delay before starting region failure detection. This delay helps prevent Metasrv from triggering unnecessary region failovers before all Datanodes are fully started. Especially useful when the cluster is not deployed with GreptimeDB Operator and maintenance mode is not enabled. | | `allow_region_failover_on_local_wal` | Bool | `false` | Whether to allow region failover on local WAL.
**This option is not recommended to be set to true, because it may lead to data loss during failover.** | | `node_max_idle_time` | String | `24hours` | Max allowed idle time before removing node info from metasrv memory. Nodes that haven't sent heartbeats for this duration will be considered inactive and removed. | -| `heartbeat_interval` | String | `3s` | Base heartbeat interval for calculating distributed time constants. The frontend heartbeat interval is 6 times of the base heartbeat interval. The flownode/datanode heartbeat interval is 1 times of the base heartbeat interval. For example, if the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. **If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly.** | +| `heartbeat_interval` | String | `3s` | Base heartbeat interval for calculating distributed time constants. The frontend heartbeat interval is 6 times of the base heartbeat interval. The flownode/datanode heartbeat interval is 1 time of the base heartbeat interval. For example, if the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. **If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly.** | | `backend` | String | `etcd_store` | The datastore for metasrv.
- `etcd_store` (default)
- `memory_store` (In memory metadata storage - only used for testing.)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | Table name in RDS to store metadata. Effect when using a RDS kvbackend.
**Only used when backend is `postgres_store` or `mysql_store`.** | | `meta_election_lock_id` | Integer | `1` | Advisory lock id in PostgreSQL for election. Effect when using PostgreSQL as kvbackend
**Only used when backend is `postgres_store`.** | From ff040958fdbfbcf52673cb81798b83db3ca988e4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 07:07:47 +0000 Subject: [PATCH 4/9] Add missing configuration options from PR #7433: backend_client, grpc http2 keepalive, and WAL kafka timeouts Co-authored-by: WenyXu <32535939+WenyXu@users.noreply.github.com> --- .../configuration.md | 40 +++++++++++++++++++ .../configuration.md | 40 +++++++++++++++++++ .../configuration.md | 40 +++++++++++++++++++ .../configuration.md | 40 +++++++++++++++++++ 4 files changed, 160 insertions(+) diff --git a/docs/user-guide/deployments-administration/configuration.md b/docs/user-guide/deployments-administration/configuration.md index 173ee541b..a3a16660c 100644 --- a/docs/user-guide/deployments-administration/configuration.md +++ b/docs/user-guide/deployments-administration/configuration.md @@ -616,6 +616,26 @@ node_max_idle_time = "24hours" ## If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly. heartbeat_interval = "3s" +## The backend client options. +## Currently, only applicable when using etcd as the metadata store. +[backend_client] +## The keep alive timeout for backend client. +keep_alive_timeout = "3s" +## The keep alive interval for backend client. +keep_alive_interval = "10s" +## The connect timeout for backend client. +connect_timeout = "3s" + +## The gRPC server options. +[grpc] +bind_addr = "127.0.0.1:3002" +server_addr = "127.0.0.1:3002" +runtime_size = 8 +## The server side HTTP/2 keep-alive interval +http2_keep_alive_interval = "10s" +## The server side HTTP/2 keep-alive timeout. +http2_keep_alive_timeout = "3s" + ## Procedure storage options. [procedure] @@ -694,6 +714,14 @@ replication_factor = 1 ## Above which a topic creation operation will be cancelled. create_topic_timeout = "30s" +## The connect timeout for kafka client. +## **It's only used when the provider is `kafka`**. +connect_timeout = "3s" + +## The timeout for kafka client. +## **It's only used when the provider is `kafka`**. +timeout = "3s" + # The Kafka SASL configuration. # **It's only used when the provider is `kafka`**. # Available SASL mechanisms: @@ -727,6 +755,16 @@ create_topic_timeout = "30s" | `allow_region_failover_on_local_wal` | Bool | `false` | Whether to allow region failover on local WAL.
**This option is not recommended to be set to true, because it may lead to data loss during failover.** | | `node_max_idle_time` | String | `24hours` | Max allowed idle time before removing node info from metasrv memory. Nodes that haven't sent heartbeats for this duration will be considered inactive and removed. | | `heartbeat_interval` | String | `3s` | Base heartbeat interval for calculating distributed time constants. The frontend heartbeat interval is 6 times of the base heartbeat interval. The flownode/datanode heartbeat interval is 1 time of the base heartbeat interval. For example, if the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. **If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly.** | +| `backend_client` | -- | -- | The backend client options.
Currently, only applicable when using etcd as the metadata store. | +| `backend_client.keep_alive_timeout` | String | `3s` | The keep alive timeout for backend client. | +| `backend_client.keep_alive_interval` | String | `10s` | The keep alive interval for backend client. | +| `backend_client.connect_timeout` | String | `3s` | The connect timeout for backend client. | +| `grpc` | -- | -- | The gRPC server options. | +| `grpc.bind_addr` | String | `127.0.0.1:3002` | The address to bind the gRPC server. | +| `grpc.server_addr` | String | `127.0.0.1:3002` | The communication server address for frontend and datanode to connect to metasrv. | +| `grpc.runtime_size` | Integer | `8` | The number of server worker threads. | +| `grpc.http2_keep_alive_interval` | String | `10s` | The server side HTTP/2 keep-alive interval. | +| `grpc.http2_keep_alive_timeout` | String | `3s` | The server side HTTP/2 keep-alive timeout. | | `backend` | String | `etcd_store` | The datastore for metasrv.
- `etcd_store` (default)
- `memory_store` (In memory metadata storage - only used for testing.)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | Table name in RDS to store metadata. Effect when using a RDS kvbackend.
**Only used when backend is `postgres_store` or `mysql_store`.** | | `meta_election_lock_id` | Integer | `1` | Advisory lock id in PostgreSQL for election. Effect when using PostgreSQL as kvbackend
**Only used when backend is `postgres_store`.** | @@ -754,6 +792,8 @@ create_topic_timeout = "30s" | `wal.topic_name_prefix` | String | `greptimedb_wal_topic` | A Kafka topic is constructed by concatenating `topic_name_prefix` and `topic_id`. | | `wal.replication_factor` | Integer | `1` | Expected number of replicas of each partition. | | `wal.create_topic_timeout` | String | `30s` | Above which a topic creation operation will be cancelled. | +| `wal.connect_timeout` | String | `3s` | The connect timeout for kafka client.
**It's only used when the provider is `kafka`**. | +| `wal.timeout` | String | `3s` | The timeout for kafka client.
**It's only used when the provider is `kafka`**. | | `wal.sasl` | String | -- | The Kafka SASL configuration. | | `wal.sasl.type` | String | -- | The SASL mechanisms, available values: `PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512`. | | `wal.sasl.username` | String | -- | The SASL username. | diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md index dd2e23b4c..5c0f2715f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md @@ -607,6 +607,26 @@ node_max_idle_time = "24hours" ## 如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。 heartbeat_interval = "3s" +## 后端客户端选项。 +## 目前仅适用于使用 etcd 作为元数据存储时。 +[backend_client] +## 后端客户端的保持连接超时时间。 +keep_alive_timeout = "3s" +## 后端客户端的保持连接间隔。 +keep_alive_interval = "10s" +## 后端客户端的连接超时时间。 +connect_timeout = "3s" + +## gRPC 服务器选项。 +[grpc] +bind_addr = "127.0.0.1:3002" +server_addr = "127.0.0.1:3002" +runtime_size = 8 +## 服务器端 HTTP/2 保持连接间隔 +http2_keep_alive_interval = "10s" +## 服务器端 HTTP/2 保持连接超时时间。 +http2_keep_alive_timeout = "3s" + ## Procedure 选项 [procedure] @@ -685,6 +705,14 @@ replication_factor = 1 ## 超过此时间创建 topic 的操作将被取消。 create_topic_timeout = "30s" + +## kafka 客户端的连接超时时间。 +## **仅在 provider 为 `kafka` 时使用。** +connect_timeout = "3s" + +## kafka 客户端的超时时间。 +## **仅在 provider 为 `kafka` 时使用。** +timeout = "3s" ``` | 键 | 类型 | 默认值 | 描述 | @@ -700,6 +728,16 @@ create_topic_timeout = "30s" | `allow_region_failover_on_local_wal` | Bool | false | 是否允许在本地 WAL 上进行 region failover。
**此选项不建议设置为 true,因为这可能会在故障转移期间导致数据丢失。** | | `node_max_idle_time` | String | `24hours` | 从 metasrv 内存中删除节点信息前允许的最大空闲时间。超过该时间未发送心跳的节点将被视为不活跃并被删除。 | | `heartbeat_interval` | String | `3s` | 用于计算分布式时间常量的基础心跳间隔。frontend 的心跳间隔是基础心跳间隔的 6 倍。flownode/datanode 的心跳间隔是基础心跳间隔的 1 倍。例如,如果基础心跳间隔为 3s,则 frontend 心跳间隔为 18s,flownode/datanode 心跳间隔为 3s。**如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。** | +| `backend_client` | -- | -- | 后端客户端选项。
目前仅适用于使用 etcd 作为元数据存储时。 | +| `backend_client.keep_alive_timeout` | String | `3s` | 后端客户端的保持连接超时时间。 | +| `backend_client.keep_alive_interval` | String | `10s` | 后端客户端的保持连接间隔。 | +| `backend_client.connect_timeout` | String | `3s` | 后端客户端的连接超时时间。 | +| `grpc` | -- | -- | gRPC 服务器选项。 | +| `grpc.bind_addr` | String | `127.0.0.1:3002` | gRPC 服务器的绑定地址。 | +| `grpc.server_addr` | String | `127.0.0.1:3002` | 前端和 datanode 连接到 metasrv 的通信服务器地址。 | +| `grpc.runtime_size` | Integer | `8` | 服务器工作线程数。 | +| `grpc.http2_keep_alive_interval` | String | `10s` | 服务器端 HTTP/2 保持连接间隔。 | +| `grpc.http2_keep_alive_timeout` | String | `3s` | 服务器端 HTTP/2 保持连接超时时间。 | | `backend` | String | `etcd_store` | 元数据存储类型。
- `etcd_store` (默认)
- `memory_store` (纯内存存储 - 仅用于测试)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | 使用 RDS 存储元数据时的表名。**仅在 backend 为 postgre_store 和 mysql_store 时有效。** | | `meta_election_lock_id` | Integer | `1` | 用于领导选举的 PostgreSQL 咨询锁 id。**仅在 backend 为 postgre_store 时有效。** | @@ -728,6 +766,8 @@ create_topic_timeout = "30s" | wal.topic_name_prefix | String | greptimedb_wal_topic | 一个 Kafka topic 是通过连接 topic_name_prefix 和 topic_id 构建的 | | wal.replication_factor | Integer | 1 | 每个分区的副本数 | | wal.create_topic_timeout | String | 30s | 超过该时间后,topic 创建操作将被取消 | +| `wal.connect_timeout` | String | `3s` | kafka 客户端的连接超时时间。
**仅在 provider 为 `kafka` 时使用。** | +| `wal.timeout` | String | `3s` | kafka 客户端的超时时间。
**仅在 provider 为 `kafka` 时使用。** | | `wal.sasl` | String | -- | Kafka 客户端 SASL 配置 | | `wal.sasl.type` | String | -- | SASL 机制,可选值:`PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512` | | `wal.sasl.username` | String | -- | SASL 鉴权用户名 | diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md index dd2e23b4c..5c0f2715f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md @@ -607,6 +607,26 @@ node_max_idle_time = "24hours" ## 如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。 heartbeat_interval = "3s" +## 后端客户端选项。 +## 目前仅适用于使用 etcd 作为元数据存储时。 +[backend_client] +## 后端客户端的保持连接超时时间。 +keep_alive_timeout = "3s" +## 后端客户端的保持连接间隔。 +keep_alive_interval = "10s" +## 后端客户端的连接超时时间。 +connect_timeout = "3s" + +## gRPC 服务器选项。 +[grpc] +bind_addr = "127.0.0.1:3002" +server_addr = "127.0.0.1:3002" +runtime_size = 8 +## 服务器端 HTTP/2 保持连接间隔 +http2_keep_alive_interval = "10s" +## 服务器端 HTTP/2 保持连接超时时间。 +http2_keep_alive_timeout = "3s" + ## Procedure 选项 [procedure] @@ -685,6 +705,14 @@ replication_factor = 1 ## 超过此时间创建 topic 的操作将被取消。 create_topic_timeout = "30s" + +## kafka 客户端的连接超时时间。 +## **仅在 provider 为 `kafka` 时使用。** +connect_timeout = "3s" + +## kafka 客户端的超时时间。 +## **仅在 provider 为 `kafka` 时使用。** +timeout = "3s" ``` | 键 | 类型 | 默认值 | 描述 | @@ -700,6 +728,16 @@ create_topic_timeout = "30s" | `allow_region_failover_on_local_wal` | Bool | false | 是否允许在本地 WAL 上进行 region failover。
**此选项不建议设置为 true,因为这可能会在故障转移期间导致数据丢失。** | | `node_max_idle_time` | String | `24hours` | 从 metasrv 内存中删除节点信息前允许的最大空闲时间。超过该时间未发送心跳的节点将被视为不活跃并被删除。 | | `heartbeat_interval` | String | `3s` | 用于计算分布式时间常量的基础心跳间隔。frontend 的心跳间隔是基础心跳间隔的 6 倍。flownode/datanode 的心跳间隔是基础心跳间隔的 1 倍。例如,如果基础心跳间隔为 3s,则 frontend 心跳间隔为 18s,flownode/datanode 心跳间隔为 3s。**如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。** | +| `backend_client` | -- | -- | 后端客户端选项。
目前仅适用于使用 etcd 作为元数据存储时。 | +| `backend_client.keep_alive_timeout` | String | `3s` | 后端客户端的保持连接超时时间。 | +| `backend_client.keep_alive_interval` | String | `10s` | 后端客户端的保持连接间隔。 | +| `backend_client.connect_timeout` | String | `3s` | 后端客户端的连接超时时间。 | +| `grpc` | -- | -- | gRPC 服务器选项。 | +| `grpc.bind_addr` | String | `127.0.0.1:3002` | gRPC 服务器的绑定地址。 | +| `grpc.server_addr` | String | `127.0.0.1:3002` | 前端和 datanode 连接到 metasrv 的通信服务器地址。 | +| `grpc.runtime_size` | Integer | `8` | 服务器工作线程数。 | +| `grpc.http2_keep_alive_interval` | String | `10s` | 服务器端 HTTP/2 保持连接间隔。 | +| `grpc.http2_keep_alive_timeout` | String | `3s` | 服务器端 HTTP/2 保持连接超时时间。 | | `backend` | String | `etcd_store` | 元数据存储类型。
- `etcd_store` (默认)
- `memory_store` (纯内存存储 - 仅用于测试)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | 使用 RDS 存储元数据时的表名。**仅在 backend 为 postgre_store 和 mysql_store 时有效。** | | `meta_election_lock_id` | Integer | `1` | 用于领导选举的 PostgreSQL 咨询锁 id。**仅在 backend 为 postgre_store 时有效。** | @@ -728,6 +766,8 @@ create_topic_timeout = "30s" | wal.topic_name_prefix | String | greptimedb_wal_topic | 一个 Kafka topic 是通过连接 topic_name_prefix 和 topic_id 构建的 | | wal.replication_factor | Integer | 1 | 每个分区的副本数 | | wal.create_topic_timeout | String | 30s | 超过该时间后,topic 创建操作将被取消 | +| `wal.connect_timeout` | String | `3s` | kafka 客户端的连接超时时间。
**仅在 provider 为 `kafka` 时使用。** | +| `wal.timeout` | String | `3s` | kafka 客户端的超时时间。
**仅在 provider 为 `kafka` 时使用。** | | `wal.sasl` | String | -- | Kafka 客户端 SASL 配置 | | `wal.sasl.type` | String | -- | SASL 机制,可选值:`PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512` | | `wal.sasl.username` | String | -- | SASL 鉴权用户名 | diff --git a/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md b/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md index 173ee541b..a3a16660c 100644 --- a/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md +++ b/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md @@ -616,6 +616,26 @@ node_max_idle_time = "24hours" ## If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly. heartbeat_interval = "3s" +## The backend client options. +## Currently, only applicable when using etcd as the metadata store. +[backend_client] +## The keep alive timeout for backend client. +keep_alive_timeout = "3s" +## The keep alive interval for backend client. +keep_alive_interval = "10s" +## The connect timeout for backend client. +connect_timeout = "3s" + +## The gRPC server options. +[grpc] +bind_addr = "127.0.0.1:3002" +server_addr = "127.0.0.1:3002" +runtime_size = 8 +## The server side HTTP/2 keep-alive interval +http2_keep_alive_interval = "10s" +## The server side HTTP/2 keep-alive timeout. +http2_keep_alive_timeout = "3s" + ## Procedure storage options. [procedure] @@ -694,6 +714,14 @@ replication_factor = 1 ## Above which a topic creation operation will be cancelled. create_topic_timeout = "30s" +## The connect timeout for kafka client. +## **It's only used when the provider is `kafka`**. +connect_timeout = "3s" + +## The timeout for kafka client. +## **It's only used when the provider is `kafka`**. +timeout = "3s" + # The Kafka SASL configuration. # **It's only used when the provider is `kafka`**. # Available SASL mechanisms: @@ -727,6 +755,16 @@ create_topic_timeout = "30s" | `allow_region_failover_on_local_wal` | Bool | `false` | Whether to allow region failover on local WAL.
**This option is not recommended to be set to true, because it may lead to data loss during failover.** | | `node_max_idle_time` | String | `24hours` | Max allowed idle time before removing node info from metasrv memory. Nodes that haven't sent heartbeats for this duration will be considered inactive and removed. | | `heartbeat_interval` | String | `3s` | Base heartbeat interval for calculating distributed time constants. The frontend heartbeat interval is 6 times of the base heartbeat interval. The flownode/datanode heartbeat interval is 1 time of the base heartbeat interval. For example, if the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. **If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly.** | +| `backend_client` | -- | -- | The backend client options.
Currently, only applicable when using etcd as the metadata store. | +| `backend_client.keep_alive_timeout` | String | `3s` | The keep alive timeout for backend client. | +| `backend_client.keep_alive_interval` | String | `10s` | The keep alive interval for backend client. | +| `backend_client.connect_timeout` | String | `3s` | The connect timeout for backend client. | +| `grpc` | -- | -- | The gRPC server options. | +| `grpc.bind_addr` | String | `127.0.0.1:3002` | The address to bind the gRPC server. | +| `grpc.server_addr` | String | `127.0.0.1:3002` | The communication server address for frontend and datanode to connect to metasrv. | +| `grpc.runtime_size` | Integer | `8` | The number of server worker threads. | +| `grpc.http2_keep_alive_interval` | String | `10s` | The server side HTTP/2 keep-alive interval. | +| `grpc.http2_keep_alive_timeout` | String | `3s` | The server side HTTP/2 keep-alive timeout. | | `backend` | String | `etcd_store` | The datastore for metasrv.
- `etcd_store` (default)
- `memory_store` (In memory metadata storage - only used for testing.)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | Table name in RDS to store metadata. Effect when using a RDS kvbackend.
**Only used when backend is `postgres_store` or `mysql_store`.** | | `meta_election_lock_id` | Integer | `1` | Advisory lock id in PostgreSQL for election. Effect when using PostgreSQL as kvbackend
**Only used when backend is `postgres_store`.** | @@ -754,6 +792,8 @@ create_topic_timeout = "30s" | `wal.topic_name_prefix` | String | `greptimedb_wal_topic` | A Kafka topic is constructed by concatenating `topic_name_prefix` and `topic_id`. | | `wal.replication_factor` | Integer | `1` | Expected number of replicas of each partition. | | `wal.create_topic_timeout` | String | `30s` | Above which a topic creation operation will be cancelled. | +| `wal.connect_timeout` | String | `3s` | The connect timeout for kafka client.
**It's only used when the provider is `kafka`**. | +| `wal.timeout` | String | `3s` | The timeout for kafka client.
**It's only used when the provider is `kafka`**. | | `wal.sasl` | String | -- | The Kafka SASL configuration. | | `wal.sasl.type` | String | -- | The SASL mechanisms, available values: `PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512`. | | `wal.sasl.username` | String | -- | The SASL username. | From 193aa6f129eba67298cd22dccddf9b09d6ebd8cd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 07:44:03 +0000 Subject: [PATCH 5/9] Remove heartbeat_interval from documentation as requested Co-authored-by: WenyXu <32535939+WenyXu@users.noreply.github.com> --- .../deployments-administration/configuration.md | 8 -------- .../deployments-administration/configuration.md | 8 -------- .../deployments-administration/configuration.md | 8 -------- .../deployments-administration/configuration.md | 8 -------- 4 files changed, 32 deletions(-) diff --git a/docs/user-guide/deployments-administration/configuration.md b/docs/user-guide/deployments-administration/configuration.md index 70fc105ef..16fb29465 100644 --- a/docs/user-guide/deployments-administration/configuration.md +++ b/docs/user-guide/deployments-administration/configuration.md @@ -603,13 +603,6 @@ allow_region_failover_on_local_wal = false ## Max allowed idle time before removing node info from metasrv memory. node_max_idle_time = "24hours" -## Base heartbeat interval for calculating distributed time constants. -## The frontend heartbeat interval is 6 times of the base heartbeat interval. -## The flownode/datanode heartbeat interval is 1 time of the base heartbeat interval. -## e.g., If the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. -## If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly. -heartbeat_interval = "3s" - ## The backend client options. ## Currently, only applicable when using etcd as the metadata store. [backend_client] @@ -748,7 +741,6 @@ timeout = "3s" | `region_failure_detector_initialization_delay` | String | `10m` | The delay before starting region failure detection. This delay helps prevent Metasrv from triggering unnecessary region failovers before all Datanodes are fully started. Especially useful when the cluster is not deployed with GreptimeDB Operator and maintenance mode is not enabled. | | `allow_region_failover_on_local_wal` | Bool | `false` | Whether to allow region failover on local WAL.
**This option is not recommended to be set to true, because it may lead to data loss during failover.** | | `node_max_idle_time` | String | `24hours` | Max allowed idle time before removing node info from metasrv memory. Nodes that haven't sent heartbeats for this duration will be considered inactive and removed. | -| `heartbeat_interval` | String | `3s` | Base heartbeat interval for calculating distributed time constants. The frontend heartbeat interval is 6 times of the base heartbeat interval. The flownode/datanode heartbeat interval is 1 time of the base heartbeat interval. For example, if the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. **If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly.** | | `backend_client` | -- | -- | The backend client options.
Currently, only applicable when using etcd as the metadata store. | | `backend_client.keep_alive_timeout` | String | `3s` | The keep alive timeout for backend client. | | `backend_client.keep_alive_interval` | String | `10s` | The keep alive interval for backend client. | diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md index 0fe37e282..9cf3dc932 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md @@ -593,13 +593,6 @@ allow_region_failover_on_local_wal = false ## 从 metasrv 内存中删除节点信息前允许的最大空闲时间。 node_max_idle_time = "24hours" -## 用于计算分布式时间常量的基础心跳间隔。 -## frontend 的心跳间隔是基础心跳间隔的 6 倍。 -## flownode/datanode 的心跳间隔是基础心跳间隔的 1 倍。 -## 例如,如果基础心跳间隔为 3s,则 frontend 心跳间隔为 18s,flownode/datanode 心跳间隔为 3s。 -## 如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。 -heartbeat_interval = "3s" - ## 后端客户端选项。 ## 目前仅适用于使用 etcd 作为元数据存储时。 [backend_client] @@ -720,7 +713,6 @@ timeout = "3s" | `region_failure_detector_initialization_delay` | String | `10m` | 设置启动 region 故障检测的延迟时间。该延迟有助于避免在所有 Datanode 尚未完全启动时,Metasrv 过早启动 region 故障检测,从而导致不必要的 region failover。尤其适用于未通过 GreptimeDB Operator 部署的集群,此时可能未正确启用集群维护模式,提前检测可能会引发误判。 | | `allow_region_failover_on_local_wal` | Bool | false | 是否允许在本地 WAL 上进行 region failover。
**此选项不建议设置为 true,因为这可能会在故障转移期间导致数据丢失。** | | `node_max_idle_time` | String | `24hours` | 从 metasrv 内存中删除节点信息前允许的最大空闲时间。超过该时间未发送心跳的节点将被视为不活跃并被删除。 | -| `heartbeat_interval` | String | `3s` | 用于计算分布式时间常量的基础心跳间隔。frontend 的心跳间隔是基础心跳间隔的 6 倍。flownode/datanode 的心跳间隔是基础心跳间隔的 1 倍。例如,如果基础心跳间隔为 3s,则 frontend 心跳间隔为 18s,flownode/datanode 心跳间隔为 3s。**如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。** | | `backend_client` | -- | -- | 后端客户端选项。
目前仅适用于使用 etcd 作为元数据存储时。 | | `backend_client.keep_alive_timeout` | String | `3s` | 后端客户端的保持连接超时时间。 | | `backend_client.keep_alive_interval` | String | `10s` | 后端客户端的保持连接间隔。 | diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md index 0fe37e282..9cf3dc932 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md @@ -593,13 +593,6 @@ allow_region_failover_on_local_wal = false ## 从 metasrv 内存中删除节点信息前允许的最大空闲时间。 node_max_idle_time = "24hours" -## 用于计算分布式时间常量的基础心跳间隔。 -## frontend 的心跳间隔是基础心跳间隔的 6 倍。 -## flownode/datanode 的心跳间隔是基础心跳间隔的 1 倍。 -## 例如,如果基础心跳间隔为 3s,则 frontend 心跳间隔为 18s,flownode/datanode 心跳间隔为 3s。 -## 如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。 -heartbeat_interval = "3s" - ## 后端客户端选项。 ## 目前仅适用于使用 etcd 作为元数据存储时。 [backend_client] @@ -720,7 +713,6 @@ timeout = "3s" | `region_failure_detector_initialization_delay` | String | `10m` | 设置启动 region 故障检测的延迟时间。该延迟有助于避免在所有 Datanode 尚未完全启动时,Metasrv 过早启动 region 故障检测,从而导致不必要的 region failover。尤其适用于未通过 GreptimeDB Operator 部署的集群,此时可能未正确启用集群维护模式,提前检测可能会引发误判。 | | `allow_region_failover_on_local_wal` | Bool | false | 是否允许在本地 WAL 上进行 region failover。
**此选项不建议设置为 true,因为这可能会在故障转移期间导致数据丢失。** | | `node_max_idle_time` | String | `24hours` | 从 metasrv 内存中删除节点信息前允许的最大空闲时间。超过该时间未发送心跳的节点将被视为不活跃并被删除。 | -| `heartbeat_interval` | String | `3s` | 用于计算分布式时间常量的基础心跳间隔。frontend 的心跳间隔是基础心跳间隔的 6 倍。flownode/datanode 的心跳间隔是基础心跳间隔的 1 倍。例如,如果基础心跳间隔为 3s,则 frontend 心跳间隔为 18s,flownode/datanode 心跳间隔为 3s。**如果修改此值,需要相应修改 flownode/frontend/datanode 的心跳间隔。** | | `backend_client` | -- | -- | 后端客户端选项。
目前仅适用于使用 etcd 作为元数据存储时。 | | `backend_client.keep_alive_timeout` | String | `3s` | 后端客户端的保持连接超时时间。 | | `backend_client.keep_alive_interval` | String | `10s` | 后端客户端的保持连接间隔。 | diff --git a/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md b/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md index fbdf27b92..b59fff69c 100644 --- a/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md +++ b/versioned_docs/version-1.0/user-guide/deployments-administration/configuration.md @@ -603,13 +603,6 @@ allow_region_failover_on_local_wal = false ## Max allowed idle time before removing node info from metasrv memory. node_max_idle_time = "24hours" -## Base heartbeat interval for calculating distributed time constants. -## The frontend heartbeat interval is 6 times of the base heartbeat interval. -## The flownode/datanode heartbeat interval is 1 time of the base heartbeat interval. -## e.g., If the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. -## If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly. -heartbeat_interval = "3s" - ## The backend client options. ## Currently, only applicable when using etcd as the metadata store. [backend_client] @@ -748,7 +741,6 @@ timeout = "3s" | `region_failure_detector_initialization_delay` | String | `10m` | The delay before starting region failure detection. This delay helps prevent Metasrv from triggering unnecessary region failovers before all Datanodes are fully started. Especially useful when the cluster is not deployed with GreptimeDB Operator and maintenance mode is not enabled. | | `allow_region_failover_on_local_wal` | Bool | `false` | Whether to allow region failover on local WAL.
**This option is not recommended to be set to true, because it may lead to data loss during failover.** | | `node_max_idle_time` | String | `24hours` | Max allowed idle time before removing node info from metasrv memory. Nodes that haven't sent heartbeats for this duration will be considered inactive and removed. | -| `heartbeat_interval` | String | `3s` | Base heartbeat interval for calculating distributed time constants. The frontend heartbeat interval is 6 times of the base heartbeat interval. The flownode/datanode heartbeat interval is 1 time of the base heartbeat interval. For example, if the base heartbeat interval is 3s, the frontend heartbeat interval is 18s, the flownode/datanode heartbeat interval is 3s. **If you change this value, you need to change the heartbeat interval of the flownode/frontend/datanode accordingly.** | | `backend_client` | -- | -- | The backend client options.
Currently, only applicable when using etcd as the metadata store. | | `backend_client.keep_alive_timeout` | String | `3s` | The keep alive timeout for backend client. | | `backend_client.keep_alive_interval` | String | `10s` | The keep alive interval for backend client. | From 7ec2d7d9cd1324c05db8fe7c302f66bc9892d6d5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 07:59:09 +0000 Subject: [PATCH 6/9] Add WAL Kafka client timeout configurations to remote-wal documentation Co-authored-by: WenyXu <32535939+WenyXu@users.noreply.github.com> --- .../wal/remote-wal/configuration.md | 12 ++++++++++++ .../wal/remote-wal/configuration.md | 12 ++++++++++++ .../wal/remote-wal/configuration.md | 12 ++++++++++++ .../wal/remote-wal/configuration.md | 12 ++++++++++++ 4 files changed, 48 insertions(+) diff --git a/docs/user-guide/deployments-administration/wal/remote-wal/configuration.md b/docs/user-guide/deployments-administration/wal/remote-wal/configuration.md index c90cfe365..a5b83917d 100644 --- a/docs/user-guide/deployments-administration/wal/remote-wal/configuration.md +++ b/docs/user-guide/deployments-administration/wal/remote-wal/configuration.md @@ -31,6 +31,11 @@ auto_create_topics = true num_topics = 64 replication_factor = 1 topic_name_prefix = "greptimedb_wal_topic" +create_topic_timeout = "30s" + +# Kafka client timeout options +connect_timeout = "3s" +timeout = "3s" ``` ### Options @@ -48,6 +53,9 @@ topic_name_prefix = "greptimedb_wal_topic" | `topic_name_prefix` | Prefix for Kafka topic names. WAL topics will be named as `{topic_name_prefix}_{index}` (e.g., `greptimedb_wal_topic_0`). The prefix must match the regex `[a-zA-Z_:-][a-zA-Z0-9_:\-\.@#]*`. | | `flush_trigger_size` | Estimated size threshold (e.g., `"512MB"`) for triggering a flush operation in a region. Calculated as `(latest_entry_id - flushed_entry_id) * avg_record_size`. When this value exceeds `flush_trigger_size`, MetaSrv initiates a flush. Set to `"0"` to let the system automatically determine the flush trigger size. This also controls the maximum replay size from a topic during region replay; using a smaller value can help reduce region replay time during Datanode startup. | | `checkpoint_trigger_size` | Estimated size threshold (e.g., `"128MB"`) for triggering a checkpoint operation in a region. Calculated as `(latest_entry_id - last_checkpoint_entry_id) * avg_record_size`. When this value exceeds `checkpoint_trigger_size`, MetaSrv initiates a checkpoint. Set to `"0"` to let the system automatically determine the checkpoint trigger size. Using a smaller value can help reduce region replay time during Datanode startup. | +| `create_topic_timeout` | The timeout for creating a Kafka topic. Default is `"30s"`. | +| `connect_timeout` | The connect timeout for Kafka client. Default is `"3s"`. | +| `timeout` | The timeout for Kafka client operations. Default is `"3s"`. | #### Topic Setup and Kafka Permissions @@ -73,6 +81,8 @@ provider = "kafka" broker_endpoints = ["kafka.kafka-cluster.svc:9092"] max_batch_bytes = "1MB" overwrite_entry_start_id = true +connect_timeout = "3s" +timeout = "3s" ``` ### Options @@ -83,6 +93,8 @@ overwrite_entry_start_id = true | `broker_endpoints` | List of Kafka broker addresses. | | `max_batch_bytes` | Maximum size for each Kafka producer batch. | | `overwrite_entry_start_id` | If true, the Datanode will skip over missing entries during WAL replay. Prevents out-of-range errors, but may hide data loss. | +| `connect_timeout` | The connect timeout for Kafka client. Default is `"3s"`. | +| `timeout` | The timeout for Kafka client operations. Default is `"3s"`. | #### Required Settings and Limitations diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/wal/remote-wal/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/wal/remote-wal/configuration.md index 2d316c18c..b9440b6dc 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/wal/remote-wal/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/wal/remote-wal/configuration.md @@ -28,6 +28,11 @@ auto_create_topics = true num_topics = 64 replication_factor = 1 topic_name_prefix = "greptimedb_wal_topic" +create_topic_timeout = "30s" + +# Kafka 客户端超时配置 +connect_timeout = "3s" +timeout = "3s" ``` ### 配置 @@ -44,6 +49,9 @@ topic_name_prefix = "greptimedb_wal_topic" | `topic_name_prefix` | Kafka topic 名称前缀,必须匹配正则 `[a-zA-Z_:-][a-zA-Z0-9_:\-\.@#]*`。 | | `flush_trigger_size` | 触发 region flush 操作的预估大小阈值(如 `"512MB"`)。计算公式为 `(latest_entry_id - flushed_entry_id) * avg_record_size`。当此值超过 `flush_trigger_size` 时,MetaSrv 会触发 region flush 操作。设为 `"0"` 时由系统自动控制。该配置还可控制 region 重放期间从 topic 重放的最大数据量,较小的值有助于缩短 Datanode 启动时的重放时间。 | | `checkpoint_trigger_size` | 触发 region checkpoint 操作的预估大小阈值(如 `"128MB"`)。计算公式为 `(latest_entry_id - last_checkpoint_entry_id) * avg_record_size`。当此值超过 `checkpoint_trigger_size` 时,MetaSrv 会启动检查点操作。设为 `"0"` 时由系统自动控制。较小的值有助于缩短 Datanode 启动时的重放时间。 | +| `create_topic_timeout` | 创建 Kafka topic 的超时时间,默认值为 `"30s"`。 | +| `connect_timeout` | Kafka 客户端的连接超时时间,默认值为 `"3s"`。 | +| `timeout` | Kafka 客户端操作的超时时间,默认值为 `"3s"`。 | #### Kafka Topic 与权限要求 @@ -69,6 +77,8 @@ provider = "kafka" broker_endpoints = ["kafka.kafka-cluster.svc.cluster.local:9092"] max_batch_bytes = "1MB" overwrite_entry_start_id = true +connect_timeout = "3s" +timeout = "3s" ``` ### 配置 @@ -79,6 +89,8 @@ overwrite_entry_start_id = true | `broker_endpoints` | Kafka broker 的地址列表。 | | `max_batch_bytes` | 每个写入批次的最大大小,默认不能超过 Kafka 配置的单条消息上限(通常为 1MB)。 | | `overwrite_entry_start_id` | 若设为 `true`,在 WAL 回放时跳过缺失的 entry,避免 out-of-range 错误(但可能掩盖数据丢失)。 | +| `connect_timeout` | Kafka 客户端的连接超时时间,默认值为 `"3s"`。 | +| `timeout` | Kafka 客户端操作的超时时间,默认值为 `"3s"`。 | #### 注意事项与限制 diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/wal/remote-wal/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/wal/remote-wal/configuration.md index 2d316c18c..b9440b6dc 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/wal/remote-wal/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/wal/remote-wal/configuration.md @@ -28,6 +28,11 @@ auto_create_topics = true num_topics = 64 replication_factor = 1 topic_name_prefix = "greptimedb_wal_topic" +create_topic_timeout = "30s" + +# Kafka 客户端超时配置 +connect_timeout = "3s" +timeout = "3s" ``` ### 配置 @@ -44,6 +49,9 @@ topic_name_prefix = "greptimedb_wal_topic" | `topic_name_prefix` | Kafka topic 名称前缀,必须匹配正则 `[a-zA-Z_:-][a-zA-Z0-9_:\-\.@#]*`。 | | `flush_trigger_size` | 触发 region flush 操作的预估大小阈值(如 `"512MB"`)。计算公式为 `(latest_entry_id - flushed_entry_id) * avg_record_size`。当此值超过 `flush_trigger_size` 时,MetaSrv 会触发 region flush 操作。设为 `"0"` 时由系统自动控制。该配置还可控制 region 重放期间从 topic 重放的最大数据量,较小的值有助于缩短 Datanode 启动时的重放时间。 | | `checkpoint_trigger_size` | 触发 region checkpoint 操作的预估大小阈值(如 `"128MB"`)。计算公式为 `(latest_entry_id - last_checkpoint_entry_id) * avg_record_size`。当此值超过 `checkpoint_trigger_size` 时,MetaSrv 会启动检查点操作。设为 `"0"` 时由系统自动控制。较小的值有助于缩短 Datanode 启动时的重放时间。 | +| `create_topic_timeout` | 创建 Kafka topic 的超时时间,默认值为 `"30s"`。 | +| `connect_timeout` | Kafka 客户端的连接超时时间,默认值为 `"3s"`。 | +| `timeout` | Kafka 客户端操作的超时时间,默认值为 `"3s"`。 | #### Kafka Topic 与权限要求 @@ -69,6 +77,8 @@ provider = "kafka" broker_endpoints = ["kafka.kafka-cluster.svc.cluster.local:9092"] max_batch_bytes = "1MB" overwrite_entry_start_id = true +connect_timeout = "3s" +timeout = "3s" ``` ### 配置 @@ -79,6 +89,8 @@ overwrite_entry_start_id = true | `broker_endpoints` | Kafka broker 的地址列表。 | | `max_batch_bytes` | 每个写入批次的最大大小,默认不能超过 Kafka 配置的单条消息上限(通常为 1MB)。 | | `overwrite_entry_start_id` | 若设为 `true`,在 WAL 回放时跳过缺失的 entry,避免 out-of-range 错误(但可能掩盖数据丢失)。 | +| `connect_timeout` | Kafka 客户端的连接超时时间,默认值为 `"3s"`。 | +| `timeout` | Kafka 客户端操作的超时时间,默认值为 `"3s"`。 | #### 注意事项与限制 diff --git a/versioned_docs/version-1.0/user-guide/deployments-administration/wal/remote-wal/configuration.md b/versioned_docs/version-1.0/user-guide/deployments-administration/wal/remote-wal/configuration.md index c90cfe365..a5b83917d 100644 --- a/versioned_docs/version-1.0/user-guide/deployments-administration/wal/remote-wal/configuration.md +++ b/versioned_docs/version-1.0/user-guide/deployments-administration/wal/remote-wal/configuration.md @@ -31,6 +31,11 @@ auto_create_topics = true num_topics = 64 replication_factor = 1 topic_name_prefix = "greptimedb_wal_topic" +create_topic_timeout = "30s" + +# Kafka client timeout options +connect_timeout = "3s" +timeout = "3s" ``` ### Options @@ -48,6 +53,9 @@ topic_name_prefix = "greptimedb_wal_topic" | `topic_name_prefix` | Prefix for Kafka topic names. WAL topics will be named as `{topic_name_prefix}_{index}` (e.g., `greptimedb_wal_topic_0`). The prefix must match the regex `[a-zA-Z_:-][a-zA-Z0-9_:\-\.@#]*`. | | `flush_trigger_size` | Estimated size threshold (e.g., `"512MB"`) for triggering a flush operation in a region. Calculated as `(latest_entry_id - flushed_entry_id) * avg_record_size`. When this value exceeds `flush_trigger_size`, MetaSrv initiates a flush. Set to `"0"` to let the system automatically determine the flush trigger size. This also controls the maximum replay size from a topic during region replay; using a smaller value can help reduce region replay time during Datanode startup. | | `checkpoint_trigger_size` | Estimated size threshold (e.g., `"128MB"`) for triggering a checkpoint operation in a region. Calculated as `(latest_entry_id - last_checkpoint_entry_id) * avg_record_size`. When this value exceeds `checkpoint_trigger_size`, MetaSrv initiates a checkpoint. Set to `"0"` to let the system automatically determine the checkpoint trigger size. Using a smaller value can help reduce region replay time during Datanode startup. | +| `create_topic_timeout` | The timeout for creating a Kafka topic. Default is `"30s"`. | +| `connect_timeout` | The connect timeout for Kafka client. Default is `"3s"`. | +| `timeout` | The timeout for Kafka client operations. Default is `"3s"`. | #### Topic Setup and Kafka Permissions @@ -73,6 +81,8 @@ provider = "kafka" broker_endpoints = ["kafka.kafka-cluster.svc:9092"] max_batch_bytes = "1MB" overwrite_entry_start_id = true +connect_timeout = "3s" +timeout = "3s" ``` ### Options @@ -83,6 +93,8 @@ overwrite_entry_start_id = true | `broker_endpoints` | List of Kafka broker addresses. | | `max_batch_bytes` | Maximum size for each Kafka producer batch. | | `overwrite_entry_start_id` | If true, the Datanode will skip over missing entries during WAL replay. Prevents out-of-range errors, but may hide data loss. | +| `connect_timeout` | The connect timeout for Kafka client. Default is `"3s"`. | +| `timeout` | The timeout for Kafka client operations. Default is `"3s"`. | #### Required Settings and Limitations From 0de89f9454d9f35bb6df997188aa050176d953bb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 08:09:13 +0000 Subject: [PATCH 7/9] Add backend_client timeout configurations to manage-metadata/configuration docs Co-authored-by: WenyXu <32535939+WenyXu@users.noreply.github.com> --- .../manage-metadata/configuration.md | 11 +++++++++++ .../manage-metadata/configuration.md | 11 +++++++++++ .../manage-metadata/configuration.md | 11 +++++++++++ .../manage-metadata/configuration.md | 11 +++++++++++ 4 files changed, 44 insertions(+) diff --git a/docs/user-guide/deployments-administration/manage-metadata/configuration.md b/docs/user-guide/deployments-administration/manage-metadata/configuration.md index 870ee6225..a07e90e85 100644 --- a/docs/user-guide/deployments-administration/manage-metadata/configuration.md +++ b/docs/user-guide/deployments-administration/manage-metadata/configuration.md @@ -31,6 +31,17 @@ backend = "etcd_store" # You can specify multiple etcd endpoints for high availability store_addrs = ["127.0.0.1:2379"] +# Backend client options for etcd +[backend_client] +# The keep alive timeout for backend client +keep_alive_timeout = "3s" + +# The keep alive interval for backend client +keep_alive_interval = "10s" + +# The connect timeout for backend client +connect_timeout = "3s" + [backend_tls] # - "disable" - No TLS # - "require" - Require TLS diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/manage-metadata/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/manage-metadata/configuration.md index 18e5d4ee9..48e4bf0d4 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/manage-metadata/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/manage-metadata/configuration.md @@ -31,6 +31,17 @@ backend = "etcd_store" # 可以指定多个 etcd 端点以实现高可用性 store_addrs = ["127.0.0.1:2379"] +# etcd 后端客户端选项 +[backend_client] +# 后端客户端的保持连接超时时间 +keep_alive_timeout = "3s" + +# 后端客户端的保持连接间隔 +keep_alive_interval = "10s" + +# 后端客户端的连接超时时间 +connect_timeout = "3s" + [backend_tls] # - "disable" - 不使用 TLS # - "require" - 要求 TLS diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/manage-metadata/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/manage-metadata/configuration.md index 18e5d4ee9..48e4bf0d4 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/manage-metadata/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/manage-metadata/configuration.md @@ -31,6 +31,17 @@ backend = "etcd_store" # 可以指定多个 etcd 端点以实现高可用性 store_addrs = ["127.0.0.1:2379"] +# etcd 后端客户端选项 +[backend_client] +# 后端客户端的保持连接超时时间 +keep_alive_timeout = "3s" + +# 后端客户端的保持连接间隔 +keep_alive_interval = "10s" + +# 后端客户端的连接超时时间 +connect_timeout = "3s" + [backend_tls] # - "disable" - 不使用 TLS # - "require" - 要求 TLS diff --git a/versioned_docs/version-1.0/user-guide/deployments-administration/manage-metadata/configuration.md b/versioned_docs/version-1.0/user-guide/deployments-administration/manage-metadata/configuration.md index 870ee6225..a07e90e85 100644 --- a/versioned_docs/version-1.0/user-guide/deployments-administration/manage-metadata/configuration.md +++ b/versioned_docs/version-1.0/user-guide/deployments-administration/manage-metadata/configuration.md @@ -31,6 +31,17 @@ backend = "etcd_store" # You can specify multiple etcd endpoints for high availability store_addrs = ["127.0.0.1:2379"] +# Backend client options for etcd +[backend_client] +# The keep alive timeout for backend client +keep_alive_timeout = "3s" + +# The keep alive interval for backend client +keep_alive_interval = "10s" + +# The connect timeout for backend client +connect_timeout = "3s" + [backend_tls] # - "disable" - No TLS # - "require" - Require TLS From 271ce1536637b002d4fd02208238a1b80b1fbe96 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 08:16:05 +0000 Subject: [PATCH 8/9] Fix: keep frontend and datanode as proper nouns in Chinese docs Co-authored-by: WenyXu <32535939+WenyXu@users.noreply.github.com> --- .../user-guide/deployments-administration/configuration.md | 4 ++-- .../user-guide/deployments-administration/configuration.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md index 9cf3dc932..de18083cd 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/configuration.md @@ -705,7 +705,7 @@ timeout = "3s" | --------------------------------------------- | ------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | `data_home` | String | `./greptimedb_data/metasrv/` | 工作目录。 | | `bind_addr` | String | `127.0.0.1:3002` | Metasrv 的绑定地址。 | -| `server_addr` | String | `127.0.0.1:3002` | 前端和 datanode 连接到 Metasrv 的通信服务器地址,默认为本地主机的 `127.0.0.1:3002`。 | +| `server_addr` | String | `127.0.0.1:3002` | frontend 和 datanode 连接到 Metasrv 的通信服务器地址,默认为本地主机的 `127.0.0.1:3002`。 | | `store_addrs` | Array | `["127.0.0.1:2379"]` | 元数据服务地址,默认值为 `["127.0.0.1:2379"]`。支持配置多个服务地址,格式为 `["ip1:port1","ip2:port2",...]`。默认使用 Etcd 作为元数据后端。
根据你的存储服务器类型配置地址,例如:
- 使用 `"127.0.0.1:2379"` 连接到 etcd
- 使用 `"password=password dbname=postgres user=postgres host=localhost port=5432"` 连接到 postgres
- 使用 `"mysql://user:password@ip:port/dbname"` 连接到 mysql | | `selector` | String | `lease_based` | 创建新表时选择 datanode 的负载均衡策略,详见 [选择器](/contributor-guide/metasrv/selector.md)。 | | `use_memory_store` | Boolean | `false` | 仅用于在没有 etcd 集群时的测试,将数据存储在内存中,默认值为 `false`。 | @@ -719,7 +719,7 @@ timeout = "3s" | `backend_client.connect_timeout` | String | `3s` | 后端客户端的连接超时时间。 | | `grpc` | -- | -- | gRPC 服务器选项。 | | `grpc.bind_addr` | String | `127.0.0.1:3002` | gRPC 服务器的绑定地址。 | -| `grpc.server_addr` | String | `127.0.0.1:3002` | 前端和 datanode 连接到 metasrv 的通信服务器地址。 | +| `grpc.server_addr` | String | `127.0.0.1:3002` | frontend 和 datanode 连接到 metasrv 的通信服务器地址。 | | `grpc.runtime_size` | Integer | `8` | 服务器工作线程数。 | | `grpc.http2_keep_alive_interval` | String | `10s` | 服务器端 HTTP/2 保持连接间隔。 | | `grpc.http2_keep_alive_timeout` | String | `3s` | 服务器端 HTTP/2 保持连接超时时间。 | diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md index 9cf3dc932..de18083cd 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-1.0/user-guide/deployments-administration/configuration.md @@ -705,7 +705,7 @@ timeout = "3s" | --------------------------------------------- | ------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | `data_home` | String | `./greptimedb_data/metasrv/` | 工作目录。 | | `bind_addr` | String | `127.0.0.1:3002` | Metasrv 的绑定地址。 | -| `server_addr` | String | `127.0.0.1:3002` | 前端和 datanode 连接到 Metasrv 的通信服务器地址,默认为本地主机的 `127.0.0.1:3002`。 | +| `server_addr` | String | `127.0.0.1:3002` | frontend 和 datanode 连接到 Metasrv 的通信服务器地址,默认为本地主机的 `127.0.0.1:3002`。 | | `store_addrs` | Array | `["127.0.0.1:2379"]` | 元数据服务地址,默认值为 `["127.0.0.1:2379"]`。支持配置多个服务地址,格式为 `["ip1:port1","ip2:port2",...]`。默认使用 Etcd 作为元数据后端。
根据你的存储服务器类型配置地址,例如:
- 使用 `"127.0.0.1:2379"` 连接到 etcd
- 使用 `"password=password dbname=postgres user=postgres host=localhost port=5432"` 连接到 postgres
- 使用 `"mysql://user:password@ip:port/dbname"` 连接到 mysql | | `selector` | String | `lease_based` | 创建新表时选择 datanode 的负载均衡策略,详见 [选择器](/contributor-guide/metasrv/selector.md)。 | | `use_memory_store` | Boolean | `false` | 仅用于在没有 etcd 集群时的测试,将数据存储在内存中,默认值为 `false`。 | @@ -719,7 +719,7 @@ timeout = "3s" | `backend_client.connect_timeout` | String | `3s` | 后端客户端的连接超时时间。 | | `grpc` | -- | -- | gRPC 服务器选项。 | | `grpc.bind_addr` | String | `127.0.0.1:3002` | gRPC 服务器的绑定地址。 | -| `grpc.server_addr` | String | `127.0.0.1:3002` | 前端和 datanode 连接到 metasrv 的通信服务器地址。 | +| `grpc.server_addr` | String | `127.0.0.1:3002` | frontend 和 datanode 连接到 metasrv 的通信服务器地址。 | | `grpc.runtime_size` | Integer | `8` | 服务器工作线程数。 | | `grpc.http2_keep_alive_interval` | String | `10s` | 服务器端 HTTP/2 保持连接间隔。 | | `grpc.http2_keep_alive_timeout` | String | `3s` | 服务器端 HTTP/2 保持连接超时时间。 | From 063a4683c84d48b5c9fd248dd5d2e7214197da61 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 08:28:06 +0000 Subject: [PATCH 9/9] Add missing meta_schema_name and auto_create_schema entries to nightly English config table Co-authored-by: WenyXu <32535939+WenyXu@users.noreply.github.com> --- docs/user-guide/deployments-administration/configuration.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/user-guide/deployments-administration/configuration.md b/docs/user-guide/deployments-administration/configuration.md index 16fb29465..73cd36016 100644 --- a/docs/user-guide/deployments-administration/configuration.md +++ b/docs/user-guide/deployments-administration/configuration.md @@ -753,6 +753,8 @@ timeout = "3s" | `grpc.http2_keep_alive_timeout` | String | `3s` | The server side HTTP/2 keep-alive timeout. | | `backend` | String | `etcd_store` | The datastore for metasrv.
- `etcd_store` (default)
- `memory_store` (In memory metadata storage - only used for testing.)
- `postgres_store`
- `mysql_store` | | `meta_table_name` | String | `greptime_metakv` | Table name in RDS to store metadata. Effect when using a RDS kvbackend.
**Only used when backend is `postgres_store` or `mysql_store`.** | +| `meta_schema_name` | String | -- | Optional PostgreSQL schema for metadata table and election table name qualification. When PostgreSQL public schema is not writable (e.g., PostgreSQL 15+ with restricted public), set this to a writable schema. GreptimeDB will use `meta_schema_name.meta_table_name`.
**Only used when backend is `postgres_store`.** | +| `auto_create_schema` | Bool | `true` | Automatically create PostgreSQL schema if it doesn't exist. When enabled, the system will execute `CREATE SCHEMA IF NOT EXISTS ` before creating metadata tables. This is useful in production environments where manual schema creation may be restricted. Note: The PostgreSQL user must have CREATE SCHEMA permission for this to work.
**Only used when backend is `postgres_store`.** | | `meta_election_lock_id` | Integer | `1` | Advisory lock id in PostgreSQL for election. Effect when using PostgreSQL as kvbackend
**Only used when backend is `postgres_store`.** | | `procedure` | -- | -- | Procedure storage options. | | `procedure.max_retry_times` | Integer | `12` | Procedure max retry time. |