This is an automated email from the ASF dual-hosted git repository.

zhangshenghang pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 9e8c7447f4 [Docs] Document gaps surfaced by support-bot uncertainty 
analytics (#11748)
9e8c7447f4 is described below

commit 9e8c7447f4901579ff7a6531d28306e3f3236e6c
Author: David Zollo <[email protected]>
AuthorDate: Tue Aug 11 20:44:38 2026 +0800

    [Docs] Document gaps surfaced by support-bot uncertainty analytics (#11748)
    
    Co-authored-by: Claude Sonnet 5 <[email protected]>
---
 docs/en/connectors/formats/avro.md                 |  6 ++++++
 docs/en/connectors/formats/debezium-json.md        |  8 ++++++++
 docs/en/connectors/source/Jdbc.md                  | 12 ++++++++++++
 docs/en/engines/zeta/rest-api-job-lifecycle.md     |  9 +++++++++
 docs/en/engines/zeta/rest-api-v2.md                |  7 +++++++
 docs/en/engines/zeta/telemetry.md                  |  4 ++++
 docs/en/introduction/configuration/JobEnvConfig.md |  2 ++
 docs/zh/connectors/formats/avro.md                 |  6 ++++++
 docs/zh/connectors/formats/debezium-json.md        |  8 ++++++++
 docs/zh/connectors/source/Jdbc.md                  | 12 ++++++++++++
 docs/zh/engines/zeta/rest-api-job-lifecycle.md     |  8 ++++++++
 docs/zh/engines/zeta/rest-api-v2.md                |  9 ++++++++-
 docs/zh/engines/zeta/telemetry.md                  |  4 ++++
 docs/zh/introduction/configuration/JobEnvConfig.md |  2 ++
 14 files changed, 96 insertions(+), 1 deletion(-)

diff --git a/docs/en/connectors/formats/avro.md 
b/docs/en/connectors/formats/avro.md
index 62cb19b95d..f8222a1e21 100644
--- a/docs/en/connectors/formats/avro.md
+++ b/docs/en/connectors/formats/avro.md
@@ -2,6 +2,12 @@
 
 Avro is very popular in streaming data pipeline. Now seatunnel supports Avro 
format in kafka connector.
 
+:::note Confluent Schema Registry is not supported
+
+This format decodes plain Avro binary directly using the `schema` you 
configure; it does not talk to a schema registry. Messages produced by a 
Confluent Schema Registry-aware serializer carry a 5-byte wire-format header (a 
magic byte followed by a 4-byte schema ID) before the Avro payload, and this 
format does not strip that header, so registry-produced messages cannot be read 
as-is. To consume Confluent-style Avro from Kafka, either write a custom 
deserialization schema that strips the  [...]
+
+:::
+
 # How To Use
 
 ## Kafka uses example
diff --git a/docs/en/connectors/formats/debezium-json.md 
b/docs/en/connectors/formats/debezium-json.md
index e296d2404e..4618ac3d80 100644
--- a/docs/en/connectors/formats/debezium-json.md
+++ b/docs/en/connectors/formats/debezium-json.md
@@ -112,3 +112,11 @@ sink {
 }
 ```
 
+# See Also
+
+SeaTunnel supports several other CDC changelog formats with the same 
INSERT/UPDATE/DELETE interpretation:
+
+- [Canal JSON](canal-json.md)
+- [Maxwell JSON](maxwell-json.md)
+- [OGG JSON](ogg-json.md)
+
diff --git a/docs/en/connectors/source/Jdbc.md 
b/docs/en/connectors/source/Jdbc.md
index 6c4335f510..326134aac9 100644
--- a/docs/en/connectors/source/Jdbc.md
+++ b/docs/en/connectors/source/Jdbc.md
@@ -214,6 +214,18 @@ In HOCON strings, a regular-expression backslash must be 
escaped, so `\d+` is wr
 
 Many JDBC drivers treat schema and table arguments passed to 
`DatabaseMetaData` as SQL `LIKE` patterns. SeaTunnel performs an exact 
identifier check after metadata discovery, but you should still use the exact 
case for case-sensitive database identifiers.
 
+:::note Views and table matching
+
+Whether `table_path` (with or without `use_regex`) also matches database 
views, not only base tables, depends on the dialect's internal table-listing 
query. There is no option to explicitly include or exclude views:
+
+- MySQL and PostgreSQL list views alongside base tables, so a broad pattern 
like `db.*` also matches views.
+- SQL Server filters to `TABLE_TYPE = 'BASE TABLE'` and excludes views.
+- Oracle and Dameng query `ALL_TABLES`, which excludes views as a side effect 
of that view not listing them.
+
+To read only specific base tables regardless of dialect, list them explicitly 
in `table_list` instead of relying on a broad regular expression.
+
+:::
+
 ### decimal_type_narrowing
 
 Decimal type narrowing, if true, the decimal type will be narrowed to the int 
or long type if without loss of precision. Only support for Oracle at now.
diff --git a/docs/en/engines/zeta/rest-api-job-lifecycle.md 
b/docs/en/engines/zeta/rest-api-job-lifecycle.md
index c3312eee5e..915b9764b6 100644
--- a/docs/en/engines/zeta/rest-api-job-lifecycle.md
+++ b/docs/en/engines/zeta/rest-api-job-lifecycle.md
@@ -264,6 +264,15 @@ curl -X POST 
"http://<master>:8080/submit-job?restoreMode=CHECKPOINT&restoreSour
   }'
 ```
 
+The same `restoreMode` and `restoreSourceJobId` query parameters work with the
+[upload endpoint](rest-api-v2.md#submit-a-job-by-upload-config-file) when 
submitting a config file
+instead of a JSON body -- both endpoints share the same restore handling:
+
+```bash
+curl --location 
'http://<master>:8080/submit-job/upload?restoreMode=CHECKPOINT&restoreSourceJobId=733584788375093248'
 \
+  --form 'config_file=@"/temp/my-cdc-job.conf"'
+```
+
 If the checkpoint data for `restoreSourceJobId` is missing, already cleaned 
up, or incompatible,
 the submission fails fast.
 
diff --git a/docs/en/engines/zeta/rest-api-v2.md 
b/docs/en/engines/zeta/rest-api-v2.md
index c0caceaf52..2b0bab3245 100644
--- a/docs/en/engines/zeta/rest-api-v2.md
+++ b/docs/en/engines/zeta/rest-api-v2.md
@@ -773,6 +773,8 @@ When we can't get the job info, the response will be:
 > | jobId                | optional | string    | job id                       
 >                             |
 > | jobName              | optional | string    | job name                     
 >                             |
 > | isStartWithSavePoint | optional | string    | if job is started with save 
 > point                        |
+> | restoreMode          | optional | string    | Restore source for job 
recovery: `CHECKPOINT` or `SAVEPOINT`. Used together with `restoreSourceJobId`. 
See [Job Recovery and 
Restart](rest-api-job-lifecycle.md#6-job-recovery-and-restart). |
+> | restoreSourceJobId   | optional | string    | The job id to restore from 
when `restoreMode` is set. When only `isStartWithSavePoint` is set (no 
`restoreMode`), this falls back to `jobId`. |
 > | format               | optional | string    | config format, support json, 
 > hocon and sql, default json |
 
 **Note:** The dry-run feature is intentionally not supported via the REST API. 
It is exclusively available through the SeaTunnel CLI.
@@ -907,6 +909,8 @@ INSERT INTO console_sink SELECT * FROM fake_source;
 > | jobId                | optional | string    | job id                       
 >      |
 > | jobName              | optional | string    | job name                     
 >      |
 > | isStartWithSavePoint | optional | string    | if job is started with save 
 > point |
+> | restoreMode          | optional | string    | Restore source for job 
recovery: `CHECKPOINT` or `SAVEPOINT`. Used together with `restoreSourceJobId`. 
See [Job Recovery and 
Restart](rest-api-job-lifecycle.md#6-job-recovery-and-restart). |
+> | restoreSourceJobId   | optional | string    | The job id to restore from 
when `restoreMode` is set. When only `isStartWithSavePoint` is set (no 
`restoreMode`), this falls back to `jobId`. |
 
 #### Request Body
 The name of the uploaded file key is config_file, and supports the following 
formats:
@@ -921,6 +925,9 @@ curl --location 'http://127.0.0.1:8080/submit-job/upload' 
--form 'config_file=@"
 
 # Upload SQL config file
 curl --location 'http://127.0.0.1:8080/submit-job/upload' --form 
'config_file=@"/temp/job.sql"'
+
+# Upload a config file and restore from the latest checkpoint of a previous job
+curl --location 
'http://127.0.0.1:8080/submit-job/upload?restoreMode=CHECKPOINT&restoreSourceJobId=733584788375666689'
 --form 'config_file=@"/temp/fake_to_console.conf"'
 ```
 #### Responses
 
diff --git a/docs/en/engines/zeta/telemetry.md 
b/docs/en/engines/zeta/telemetry.md
index 1ccdf0ff16..e8f8af28cf 100644
--- a/docs/en/engines/zeta/telemetry.md
+++ b/docs/en/engines/zeta/telemetry.md
@@ -135,6 +135,8 @@ 
engine_state_store_connector_jar_total_references{backend="hazelcast"}
 
 ### Thread Pool Status
 
+These metrics are exported by the active master only; scraping a worker node's 
endpoint will not return them.
+
 | MetricName                          | Type    | Labels                       
                                      | DESCRIPTION                             
                                       |
 
|-------------------------------------|---------|--------------------------------------------------------------------|--------------------------------------------------------------------------------|
 | job_thread_pool_activeCount         | Gauge   | **address**, server instance 
address,for example: "127.0.0.1:5801" | The activeCount of seatunnel 
coordinator job's executor cached thread pool     |
@@ -182,6 +184,8 @@ The `result` label has the following meanings:
 
 ### Job info detail
 
+This metric is exported by the active master only. It reports only an 
aggregate count per status and has no per-job label, so it cannot be used to 
alert on a specific job by ID or name -- only on cluster-wide totals such as 
`job_count{type="failed"}`.
+
 | MetricName | Type  | Labels                                                  
                                                                    | 
DESCRIPTION                         |
 
|------------|-------|-----------------------------------------------------------------------------------------------------------------------------|-------------------------------------|
 | job_count  | Gauge | **type**, the type of job, including: "canceled" 
"cancelling" "created" "failed" "failing" "finished" "running" "scheduled" | 
All job counts of seatunnel cluster |
diff --git a/docs/en/introduction/configuration/JobEnvConfig.md 
b/docs/en/introduction/configuration/JobEnvConfig.md
index 40a23cad86..af0767c793 100644
--- a/docs/en/introduction/configuration/JobEnvConfig.md
+++ b/docs/en/introduction/configuration/JobEnvConfig.md
@@ -45,6 +45,8 @@ For more details, you can refer to the documentation [Config 
Encryption Decrypti
 
 Used to control the default retry times when a job fails. The default value is 
3, and it only works in the Zeta engine.
 
+This counter accumulates for the life of the pipeline; an intermediate 
successful recovery does not reset it. For example, with `job.retry.times = 5`: 
if the pipeline fails, retries, and recovers on attempt #3, then later fails 
again, only 2 retries remain (attempts #4 and #5) before the job is marked 
permanently failed — the budget does not refresh back to 5. The one exception 
is an active-master failover in a Zeta cluster, which rebuilds the pipeline 
execution plan (and its retry count [...]
+
 ### job.retry.interval.seconds
 
 Used to control the default retry interval when a job fails. The default value 
is 3 seconds, and it only works in the Zeta engine.
diff --git a/docs/zh/connectors/formats/avro.md 
b/docs/zh/connectors/formats/avro.md
index 826fc27b44..dc3cf512f5 100644
--- a/docs/zh/connectors/formats/avro.md
+++ b/docs/zh/connectors/formats/avro.md
@@ -2,6 +2,12 @@
 
 Avro 在流式数据处理管道中非常流行。现在seatunnel在kafka连接器中支持Avro格式
 
+:::note 不支持 Confluent Schema Registry
+
+该格式直接使用你配置的 `schema` 解码原始 Avro 二进制数据,不会与 schema registry 交互。经过 Confluent 
Schema Registry 序列化的消息,会在 Avro 数据前带有 5 字节的线上格式头(1 字节 magic byte + 4 字节 schema 
ID),该格式不会剥离这部分头信息,因此无法直接读取 registry 生成的消息。如果需要消费 Confluent 风格的 Avro 
数据,可以自行实现一个在解码前剥离头信息的反序列化 schema,或者改用不添加 registry 头的生产者写入普通 Avro 数据。Protobuf 
格式提供了类似的 [`strip_schema_registry_header`](../source/Kafka.md) 选项;Avro 
目前还没有对应的选项。
+
+:::
+
 # 怎样用
 
 ## Kafka 使用示例
diff --git a/docs/zh/connectors/formats/debezium-json.md 
b/docs/zh/connectors/formats/debezium-json.md
index 88b3254039..ab638d2563 100644
--- a/docs/zh/connectors/formats/debezium-json.md
+++ b/docs/zh/connectors/formats/debezium-json.md
@@ -113,3 +113,11 @@ sink {
 }
 ```
 
+# 参考
+
+SeaTunnel 还支持以下几种 CDC 变更日志格式,它们同样会被解释为 INSERT/UPDATE/DELETE 消息:
+
+- [Canal JSON](canal-json.md)
+- [Maxwell JSON](maxwell-json.md)
+- [OGG JSON](ogg-json.md)
+
diff --git a/docs/zh/connectors/source/Jdbc.md 
b/docs/zh/connectors/source/Jdbc.md
index 621858b971..0e41c8fb64 100644
--- a/docs/zh/connectors/source/Jdbc.md
+++ b/docs/zh/connectors/source/Jdbc.md
@@ -214,6 +214,18 @@ HOCON 字符串中的正则反斜杠需要转义,因此正则中的 `\d+` 在
 
 许多 JDBC 驱动会把传给 `DatabaseMetaData` 的 schema 和表名参数当作 SQL `LIKE` 模式。SeaTunnel 
会在发现元数据后再次精确核对标识符;对于大小写敏感的数据库,仍应确保配置与数据库中的真实标识符大小写完全一致。
 
+:::note 视图与表匹配
+
+`table_path`(无论是否启用 
`use_regex`)是否会连带匹配到数据库视图(而不仅仅是基础表),取决于各方言内部列举表所使用的查询方式,目前没有可以显式包含或排除视图的配置项:
+
+- MySQL 和 PostgreSQL 会把视图和基础表列在一起,因此像 `db.*` 这样宽泛的匹配模式也会匹配到视图。
+- SQL Server 通过 `TABLE_TYPE = 'BASE TABLE'` 过滤,会排除视图。
+- Oracle 和 Dameng 查询的是 `ALL_TABLES`,视图不在其中,因此会被间接排除。
+
+如果需要在任意方言下都只读取指定的基础表,建议直接在 `table_list` 中显式列出表名,而不要依赖宽泛的正则表达式。
+
+:::
+
 ### decimal_type_narrowing
 
 十进制类型缩小,如果为 true,十进制类型将缩小为 int 或 long 类型(如果没有精度损失)。目前仅支持 Oracle。
diff --git a/docs/zh/engines/zeta/rest-api-job-lifecycle.md 
b/docs/zh/engines/zeta/rest-api-job-lifecycle.md
index b77b0299ae..29e872be4e 100644
--- a/docs/zh/engines/zeta/rest-api-job-lifecycle.md
+++ b/docs/zh/engines/zeta/rest-api-job-lifecycle.md
@@ -262,6 +262,14 @@ curl -X POST 
"http://<master>:8080/submit-job?restoreMode=CHECKPOINT&restoreSour
   }'
 ```
 
+同样的 `restoreMode` 和 `restoreSourceJobId` 
查询参数也适用于[上传配置文件的接口](rest-api-v2.md#提交作业来源上传配置文件)——
+如果提交的是配置文件而不是 JSON 请求体,两个接口共享同一套恢复处理逻辑:
+
+```bash
+curl --location 
'http://<master>:8080/submit-job/upload?restoreMode=CHECKPOINT&restoreSourceJobId=733584788375093248'
 \
+  --form 'config_file=@"/temp/my-cdc-job.conf"'
+```
+
 如果 `restoreSourceJobId` 对应的 Checkpoint 数据不存在、已被清理或不兼容,提交会直接失败。
 
 如果希望已取消(Canceled)作业仍可从 Checkpoint 恢复,需要通过以下两种方式之一保留作业执行时的Checkpoint 数据。
diff --git a/docs/zh/engines/zeta/rest-api-v2.md 
b/docs/zh/engines/zeta/rest-api-v2.md
index 24c9e6a0aa..56438798a1 100644
--- a/docs/zh/engines/zeta/rest-api-v2.md
+++ b/docs/zh/engines/zeta/rest-api-v2.md
@@ -750,6 +750,8 @@ seatunnel:
 > | jobId                | optional | string | job id                          
 >   |
 > | jobName              | optional | string | job name                        
 >   |
 > | isStartWithSavePoint | optional | string | if job is started with save 
 > point |
+> | restoreMode          | optional | string | 作业恢复的数据来源:`CHECKPOINT` 或 
`SAVEPOINT`,需与 `restoreSourceJobId` 搭配使用。详见 
[作业恢复与重启](rest-api-job-lifecycle.md#6-作业恢复与重启)。 |
+> | restoreSourceJobId   | optional | string | 设置了 `restoreMode` 时,用于指定需要恢复的作业 
ID。若只设置了 `isStartWithSavePoint`(未设置 `restoreMode`),则回退使用 `jobId`。 |
 > | format               | optional | string    | 配置风格,支持json、hocon 和 sql,默认 
 > json   |
 
 **注意:** REST API 不支持 dry-run 功能。该功能仅通过 CLI 提供。
@@ -875,7 +877,7 @@ INSERT INTO console_sink SELECT * FROM fake_source;
 ### 提交作业来源上传配置文件
 
 <details>
-<summary><code>POST</code> <code><b>/submit-job</b></code> 
<code>(如果作业提交成功,返回jobId和jobName。)</code></summary>
+<summary><code>POST</code> <code><b>/submit-job/upload</b></code> 
<code>(如果作业提交成功,返回jobId和jobName。)</code></summary>
 
 #### 参数
 
@@ -884,6 +886,8 @@ INSERT INTO console_sink SELECT * FROM fake_source;
 > | jobId                | optional | string | job id                          
 >   |
 > | jobName              | optional | string | job name                        
 >   |
 > | isStartWithSavePoint | optional | string | if job is started with save 
 > point |
+> | restoreMode          | optional | string | 作业恢复的数据来源:`CHECKPOINT` 或 
`SAVEPOINT`,需与 `restoreSourceJobId` 搭配使用。详见 
[作业恢复与重启](rest-api-job-lifecycle.md#6-作业恢复与重启)。 |
+> | restoreSourceJobId   | optional | string | 设置了 `restoreMode` 时,用于指定需要恢复的作业 
ID。若只设置了 `isStartWithSavePoint`(未设置 `restoreMode`),则回退使用 `jobId`。 |
 
 #### 请求体
 上传文件key的名称是config_file,支持以下格式:
@@ -899,6 +903,9 @@ curl --location 'http://127.0.0.1:8080/submit-job/upload' 
--form 'config_file=@"
 
 # 上传 SQL 配置文件
 curl --location 'http://127.0.0.1:8080/submit-job/upload' --form 
'config_file=@"/temp/job.sql"'
+
+# 上传配置文件,并从上一个作业最新的 checkpoint 恢复
+curl --location 
'http://127.0.0.1:8080/submit-job/upload?restoreMode=CHECKPOINT&restoreSourceJobId=733584788375666689'
 --form 'config_file=@"/temp/fake_to_console.conf"'
 ```
 #### 响应
 
diff --git a/docs/zh/engines/zeta/telemetry.md 
b/docs/zh/engines/zeta/telemetry.md
index 44802d2b7c..af9f83a02f 100644
--- a/docs/zh/engines/zeta/telemetry.md
+++ b/docs/zh/engines/zeta/telemetry.md
@@ -134,6 +134,8 @@ 
engine_state_store_connector_jar_total_references{backend="hazelcast"}
 
 ### 线程池状态
 
+以下指标仅由 active master 输出;采集 worker 节点的接口不会返回这些指标。
+
 | MetricName                          | Type    | Labels                       
           | 描述                             |
 
|-------------------------------------|---------|-----------------------------------------|--------------------------------|
 | job_thread_pool_activeCount         | Gauge   | 
**address**,服务器实例地址,例如:"127.0.0.1:5801" | seatunnel 协调器作业执行器缓存线程池的活动线程数  |
@@ -176,6 +178,8 @@ worker 发送 `RequestSlotOperation` 请求以预留 slot。这些指标用于
 
 ### 作业信息详细
 
+该指标仅由 active master 输出,且只能按状态统计聚合数量,不带按作业区分的标签,因此无法用于针对某个具体作业(按 ID 
或名称)的告警,只能用于类似 `job_count{type="failed"}` 这种集群级别的总量告警。
+
 | MetricName | Type  | Labels                                                  
                                                | 描述                  |
 
|------------|-------|---------------------------------------------------------------------------------------------------------|---------------------|
 | job_count  | Gauge | **type**,作业的类型,包括:"canceled" "cancelling" "created" 
"failed" "failing" "finished" "running" "scheduled" | seatunnel 集群的所有作业计数 |
diff --git a/docs/zh/introduction/configuration/JobEnvConfig.md 
b/docs/zh/introduction/configuration/JobEnvConfig.md
index a90c15dd8b..adfe815ea4 100644
--- a/docs/zh/introduction/configuration/JobEnvConfig.md
+++ b/docs/zh/introduction/configuration/JobEnvConfig.md
@@ -45,6 +45,8 @@
 
 用于控制作业失败时的默认重试次数。默认值为3,并且仅适用于Zeta引擎。
 
+该计数器会在整个 pipeline 生命周期内持续累加,中途一次成功恢复并不会将其重置。例如设置 `job.retry.times = 5` 时:如果 
pipeline 失败后经过重试,在第 3 次尝试时恢复成功,之后又再次失败,此时只剩下 2 次重试机会(第 4、5 
次尝试),用完后作业会被标记为永久失败,重试额度不会恢复到 5 次。唯一的例外是 Zeta 集群发生 active master 切换时,pipeline 
执行计划(以及其重试计数器)会被重新构建。
+
 ### job.retry.interval.seconds
 
 用于控制作业失败时的默认重试间隔。默认值为3秒,并且仅适用于Zeta引擎。

Reply via email to