zhangshenghang opened a new pull request, #12423:
URL: https://github.com/apache/seatunnel/pull/12423

   ## Purpose of this pull request
   
   This PR fixes a batch of real documentation inaccuracies found by auditing 
docs against the actual code (option definitions, factory `optionRule()`s, 
server config parsers and CLI argument classes), and syncs missing Chinese 
content. All findings were verified against source before editing.
   
   ## What documentation issues were found
   
   ### Transform docs (`docs/{en,zh}/transforms/`)
   - **sql.md**: `plugin_input` / `plugin_output` were marked required, but 
`SQLTransformFactory.optionRule()` only requires `query`.
   - **llm.md**: `QIANFAN` was missing from the `model_provider` list although 
implemented (`LLMTransform` + factory conditional rule); `api_key` was marked 
unconditionally required but is only required for 
OPENAI/DOUBAO/MICROSOFT/QIANFAN; `secret_key` / `oauth_path` (required for 
QIANFAN) and five real options (`process_batch_size` 100, 
`model_retry_max_attempts` 1, `model_retry_backoff_ms` 1000, 
`model_retry_max_backoff_ms` 10000, `model_request_timeout_ms` 20000) were 
undocumented.
   - **embedding.md**: `dimension` default shown as `-` although code default 
is 2048 (zh was already correct); a "TThe" typo; `api_key` / `secret_key` 
marked unconditionally required but are conditional per provider per 
`EmbeddingTransformFactory.optionRule()`.
   - **filter-rowkind.md**: `include_kinds` / `exclude_kinds` marked required 
although `optionRule()` defines them as an exclusive (exactly-one) pair; body 
text already said "only one of".
   - **field-mapper.md**: changelog said "Add Copy Transform Connector".
   
   ### Zeta engine docs (`docs/{en,zh}/engines/zeta/`)
   - **engine-jar-storage-mode.md**: documented key 
`connector-jar-storage-enable` does not exist — the parser only accepts 
`enable` under `seatunnel.engine.jar-storage`; examples also lacked the 
`seatunnel: engine:` parents, so the feature would silently never enable.
   - **hybrid-cluster-deployment.md / separated-cluster-deployment.md**: 
`coordinator-service` example missing `seatunnel: engine:` nesting (parser only 
reads it under `seatunnel.engine`); `max-thread-num` mis-described as "max job 
count" — it is the coordinator thread pool max size (`ServerConfigOptions` / 
`CoordinatorService`).
   - **user-command.md**: documented CLI help omitted six real client options 
(`--set-job-id`, `--checkpoint-overview`, `--checkpoint-history`, 
`--checkpoint-history-pipeline`, `--checkpoint-history-limit`, 
`--checkpoint-history-status`, from `ClientCommandArgs.java`); example cluster 
output used Hazelcast 5.3.0 and port 5701 instead of the shaded 5.1 and 
SeaTunnel default 5801 (`config/hazelcast.yaml`).
   - **telemetry.md**: metrics endpoints are served through the Hazelcast REST 
API which ships **disabled** (`config/hazelcast.yaml` `rest-api.enabled: 
false`) — added a prerequisite note; also fixed a malformed metrics table row 
(stray trailing pipe, pre-existing).
   - **stain-trace.md**: documented the backward-compat alias 
`stain-trace-sample-interval` as the primary option; canonical key is 
`stain-trace-sample-rate` (`ServerConfigOptions`).
   
   ### Connector docs (`docs/{en,zh}/connectors/`)
   - **Maxcompute.md (sink)**: removed `datetime_format` option (row + section) 
— no such option exists in `connector-maxcompute`.
   - **SelectDB-Cloud.md (sink)**: `password` and `selectdb.config` marked 
Required but the factory rule marks both optional; `sink.buffer-size` default 
labeled "(1MB)" is actually 10MB.
   - **SqlServer-CDC.md (source)**: `connect.timeout` renamed to the real key 
`connect.timeout.ms` (default 30000), consistent with all sibling CDC docs.
   - **StarRocks.md (sink)**: `batch_max_rows` / `batch_max_bytes` types were 
swapped (int/long per `StarRocksSinkOptions`).
   - **Paimon.md (source)**: FAQ referenced nonexistent `paimon.catalog.type`; 
real key is `catalog_type`.
   - **AmazonDynamoDB.md (sink)**: `multi_table_sink_replica` default `-` → `1` 
(`SinkConnectorCommonOptions`).
   - **MySQL-CDC.md (source)**: `startup.specific-offset.skip-events` / 
`skip-rows` have no default in code (only applied when explicitly configured) — 
default `0` → `-`.
   
   ### zh content parity
   - **docs/zh/connectors/sink/Doris.md**: added three example sections present 
in en since #11796 but missing in zh: Custom SQL Pre-processing, CDC With 
Schema Change, Multiple table (2 examples).
   - **docs/zh/engines/zeta/rest-api-v2.md**: added the missing 
checkpoint-history Field Description table.
   
   ## Areas / files updated
   38 files: transforms (en+zh × 5), engines/zeta (en+zh × 6), connectors 
sink/source (en+zh × 7), plus zh Doris and zh rest-api-v2.
   
   ## Both English and Chinese docs checked?
   Yes. Every en/zh pair was fixed in lockstep where both had the issue; 
zh-only gaps (Doris examples, rest-api-v2 field table) were filled from en.
   
   ## Duplicate check (last 7 days)
   Checked open/merged doc PRs before submitting: #12331 (merged, anchor/option 
fixes — no overlap), #12347 (open, option defaults + zh Splunk — no overlap 
with this PR's changes; my zh Doris change adds example sections, not the 
default-value row it fixes), #12378 (open, feature-checklist sync + doc 
relocation — no overlap; my zh StarRocks change fixes option types, it flips a 
checkbox), #12409 (open, zh translation sync — no overlap; my SqlServer-CDC 
change fixes the option table row it doesn't touch). No already-covered issue 
is re-fixed here.
   
   ## How the change was verified
   - Each fix was confirmed against the Java/config source (option keys, 
`defaultValue`, `OptionRule` required/optional/conditional/exclusive wiring, 
YAML DOM parser keys, CLI `@Parameter` definitions, shaded Hazelcast version).
   - Scripted structural checks over all 38 changed files: markdown table 
column consistency, balanced code fences, no duplicate section headings in 
edited areas, and YAML parse validation of the corrected config examples.
   - No docs lint/build workflow exists in this repo for docs/ (Docusaurus site 
config lives outside), so no further automated check was run; full Maven verify 
was skipped as this PR contains no code changes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to