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]