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

   ## What documentation issues were found
   
   While auditing the getting-started, introduction, and transform docs against 
the actual source code and chart/config files in this repository, I found a 
batch of real documentation problems:
   
   ### Getting started (Zeta cluster / Docker / Kubernetes / locally)
   - `submit-job-to-remote-zeta-cluster.md` (en+zh):
     - Docker examples used `ST_DOCKER_MEMBER_COUNT`, an environment variable 
that no code or script reads. Only `ST_DOCKER_MEMBER_LIST` exists 
(`ConfigProvider.java` is the only reader). With the variable ignored, the 
documented master/worker compose stack would fall back to `localhost` member 
lists and never form a cluster. Replaced with a working `ST_DOCKER_MEMBER_LIST` 
compose example; the single-node example needs no env var at all.
     - The Helm section documented `helm repo add seatunnel 
https://apache.github.io/seatunnel-helm-charts` (HTTP 404, the repo does not 
exist), chart name `seatunnel/seatunnel`, and `master.replicaCount` / 
`master.service.type` values that do not exist in 
`deploy/kubernetes/seatunnel/values.yaml`. Replaced with the actual OCI install 
flow (`oci://registry-1.docker.io/apache/seatunnel-helm`) already used by 
`kubernetes/helm.md`, and the real `master.replicas` / `worker.replicas` keys. 
Removed the invented `seatunnel.config` values tree (the chart renders `conf/` 
files through a ConfigMap; documented `configMap.create` / 
`configMap.existingConfigMapName` instead).
     - Sections 5.2/5.3 queried a non-existent `seatunnel-master-rest` Service 
(the chart only creates headless services). Rewritten to `kubectl port-forward 
svc/seatunnel-master 8080:8080` and the chart Ingress, matching `helm.md`.
     - `pod/seatunnel-master-0` assumes a StatefulSet, but the chart deploys 
master as a Deployment; replaced with a label-based pod lookup 
(`app.kubernetes.io/name=seatunnel-master`), same label as `helm.md`.
     - The NetworkPolicy example matched a `name: seatunnel` namespace label 
that Kubernetes never sets; changed to the standard 
`kubernetes.io/metadata.name: seatunnel`.
   - `docker/docker.md` (en+zh): cluster verification called the Hazelcast REST 
API on 5801, which is disabled by default (`rest-api.enabled: false` in 
`config/hazelcast.yaml`); now uses REST API v2 on 8080 (port added to the 
compose master), and the en node count was corrected to 1 master + 2 workers 
(en also said "2 nodes" for a 3-node compose, and had a "excepted" typo). zh 
build commands used bare `mvn` while en uses the Maven wrapper; aligned to `sh 
./mvnw`.
   - `locally/quick-start-flink.md` (en+zh): the Flink `1.20.x` starter script 
`start-seatunnel-flink-20-connector-v2.sh` (added by #9576, built against Flink 
1.20.1) ships in the distribution but was never documented; added. Also aligned 
the conflicting Flink 1.15+ upper bound in `docker/docker.md` (said 1.16.x; 
quick-start and engines docs say 1.18.x).
   - `locally/deployment.md` (zh): the entire Windows content (zip download + 
PowerShell extract, `bin\install-plugin.cmd` usage) present in en was missing 
in zh; ported it. zh `sidebar_position: 1` collided with 
`run-your-first-job.md`; aligned to en's value 2.
   - `locally/quick-start-seatunnel-engine.md` (zh): missing the Windows 
`bin\install-plugin.cmd` and `bin\seatunnel.cmd` run blocks present in en, and 
the tip referenced "connector documentation" without the en version's 
Source-MySQL / Sink-Doris links; added both.
   - `locally/run-your-first-job.md` + 7 recipe pages (en+zh, 16 files): 
verification commands piped to `rg` (ripgrep), which is not a default tool, 
while other recipes already use `grep -E`; replaced `| rg '` with `| grep -E '` 
(30 occurrences).
   
   ### Introduction / concepts
   - `introduction/concepts/config.md` (en+zh): the variable-substitution 
walkthrough derived the final query `select * from dual ...`, but no `dual` 
dataset exists in the example; the substitution rules in the same section 
produce `fake_test_table` (and the final config's `plugin_input` says so too). 
The job as documented would fail.
   - `introduction/concepts/connector-v2-features.md` (zh): the Sink section 
heading said 支持多表读取 (read) while en and the section body say write (写入); fixed. 
Also fixed broken emphasis `* 精确一次**`.
   - `introduction/concepts/gravitino-type-mapping.md` (en+zh): Related 
Documentation had a dangling unlinked "SeaTunnel Data Types" bullet and a 
second bullet labeled "SeaTunnel Data Types" pointing at schema-feature.md 
(already linked as Schema Feature); cleaned up.
   - `introduction/configuration/config-encryption-decryption.md` (en): typo 
"And new option" → "Add new option"; (zh): the step list had a nested "2." 
inside step 1 plus top-level 3./4., breaking the numbering; merged and 
renumbered to match en.
   - `introduction/configuration/sql-config.md` (zh): typo `trasform` → 
`transform`.
   
   ### Transforms
   - `transforms/sql-udf.md` (en+zh): the "UDF API" snippet showed `public 
interface ZetaUDF {`, but the actual interface is `ZetaUDF extends 
Serializable` (`ZetaUDF.java`); fixed. zh also lacked the en deployment notes 
about third-party jars and cluster-mode lib distribution; added.
   - `transforms/rowkind-extractor.md` (en+zh): the example output showed 
`row_kind="DELETE"`, which is the FULL format, while the documented default 
`transform_type` is SHORT (`-D`); annotated the example and documented both 
outputs.
   - `transforms/replace.md` (zh): the sentence describing the space-pattern 
example had an empty inline code span (`字符 ``替换为`), losing the space character 
being replaced; restored.
   
   ## What was changed
   41 markdown files (23 en + 18 zh) under `docs/en` and `docs/zh`: 
getting-started (remote cluster, docker, kubernetes, locally, recipes), 
introduction (concepts, configuration), and transforms. 249 insertions / 166 
deletions of real content.
   
   ## English and Chinese docs
   Yes — both languages were checked and fixed together. Wherever an issue 
existed in both (config.md, submit-job, docker.md, gravitino, sql-udf, 
rowkind-extractor), both files were updated; where zh was missing content that 
en already had (Windows deployment/run instructions, connector links, UDF 
deployment notes), the zh side was brought in sync.
   
   ## Duplicate PR check (last 7 days)
   I checked all PRs by this author and the repo in the last week before 
submitting: #12679, #12641, #12621, #12615, #12602, #12570 (open docs PRs) and 
merged #12609, #12553, #12499, #12487, #12476. They cover 
connector/format/transform/engine-reference docs; none of them touch the 
getting-started pages, introduction/concepts, introduction/configuration, or 
these transform pages, except **#12459 (open)**, which fixes the `--master` 
flag section and removes the 8090 Web-UI port row in 
`submit-job-to-remote-zeta-cluster.md`. This PR deliberately avoids those two 
hunks (sections 2.1 and the port table) and fixes only the remaining, 
non-overlapping issues in that file. No other open PR covers the changes here.
   
   ## Verification
   - Ran the same external link checker CI uses (`[email protected]` 
with the repo's `.dlc.json`) on all 41 changed files: no dead links.
   - Ran a relative-link/anchor target check over all changed files: all 
targets resolve in both languages.
   - Cross-checked every changed claim against the source: 
`ClientCommandArgs.java` (`--master` accepts only local/cluster), 
`ConfigProvider.java` (`ST_DOCKER_MEMBER_LIST`), `config/hazelcast.yaml` / 
`config/seatunnel.yaml` (REST v1 disabled, HTTP enabled on 8080), 
`deploy/kubernetes/seatunnel/values.yaml` + templates (`replicas`, headless 
services, ingress), `.github/workflows/publish-helm-chart.yaml` (OCI chart), 
`RowKindExtractorTransform` (SHORT/FULL output), `ZetaUDF.java`, and the Flink 
starter modules (`seatunnel-flink-{13,15,20}-starter`).
   - Full Maven build was not run because this PR contains documentation-only 
changes; the docs link checks above are the checks that CI runs for docs.


-- 
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