zhangshenghang opened a new pull request, #12641:
URL: https://github.com/apache/seatunnel/pull/12641
## What documentation issues were found
While auditing the Zeta engine documentation (`docs/en/engines/**` and
`docs/zh/engines/**`) against the current `dev` source code, I found the
following verified issues:
### Config keys / YAML structure that do not match the parser
- `engine-jar-storage-mode.md` (EN+ZH): documents the enable key as
`connector-jar-storage-enable`, but the parser only accepts `enable` under
`jar-storage` (`ServerConfigOptions.ENABLE_CONNECTOR_JAR_STORAGE`,
`YamlSeaTunnelDomConfigProcessor.parseConnectorJarStorageConfig`). The YAML
examples were also missing the required `seatunnel: engine:` nesting, so a
copy-pasted example is silently ignored.
- `hybrid-cluster-deployment.md` / `separated-cluster-deployment.md`
(EN+ZH): the `coordinator-service` examples were top-level; the parser only
reads `coordinator-service` inside `seatunnel.engine`.
- `tuning-guide.md` (EN+ZH): the three S3 checkpoint mitigation examples
omitted `storage.type: s3` in `plugin-config`, so `HdfsStorage` falls back to
the `local` storage type and every `fs.s3a.*` / `s3.bucket` key is ignored;
they now set `storage.type: s3` explicitly.
- `checkpoint-storage.md` (EN+ZH): used `//` inline comments inside YAML
blocks (invalid YAML); replaced with `#`.
- `tuning-guide.md`: five references to the retired log name
`seatunnel-server.log` corrected to `seatunnel-engine-server.log` (the name set
by `seatunnel-cluster.sh` via `-Dseatunnel.logs.file_name`).
- `tcp.md` (EN+ZH): claimed Hazelcast auto-increments member ports 5701,
5702, ...; SeaTunnel's shipped `hazelcast.yaml` sets `port: 5801` with
`port-auto-increment: false`.
- `security.md` (EN+ZH): `enable-http` default documented as `true`; the
code default is `false` (`ServerConfigOptions.ENABLE_HTTP`).
- `tuning-guide.md`: referenced a nonexistent `write-behind-delay-seconds`
key (Hazelcast uses `write-delay-seconds`), and claimed checkpoint intervals
default to 10s (code default is 300000 ms; only the shipped template sets
10000).
### REST API response shapes that do not match the server
- `rest-api-v1.md` / `rest-api-v2.md` (EN+ZH): `/overview` example returned
`"works"`; the field is `workers` (`OverviewInfo`, asserted by `RestApiIT`).
- Same files: `finishedTime` corrected to `finishTime`
(`RestConstant.FINISH_TIME`) in 8 example/notes places; `/stop-job` response
corrected to a string `jobId` (`JobInfoService.stopJob`); lowercase
`sourceReceivedCount`/`sinkWriteCount` corrected to
`SourceReceivedCount`/`SinkWriteCount` (`MetricNames`); the deprecated
`/running-job/:jobId` examples completed with the `SinkCommitted*` /
`IntermediateQueueSize` keys the endpoint actually returns; `startTime` (always
returned by `BaseService`) added to the job examples and the always-returned
field list.
- v1 `option-rules` `type` parameter now also lists `transform`
(`OptionRulesService` registers SOURCE, SINK and TRANSFORM); v1 `submit-job` /
`submit-jobs` parameter tables now include `format`, `restoreMode`,
`restoreSourceJobId`, which v1 accepts exactly like v2.
### Documented features that do not exist in code
- `rest-api-job-lifecycle.md` (EN+ZH): removed the claim that
`/job-info/:jobId` returns a `savepointPath` field (no such field is emitted),
and replaced section 6.3, which documented nonexistent `restore.mode` /
`savepoint.path` env options, with a note that restore source selection is only
via `restoreMode`/`restoreSourceJobId` (`RestoreMode` enum).
### CLI and engine docs
- `user-command.md` (EN+ZH): the `-h` output block was missing six real
options (`--set-job-id`, `--checkpoint-overview`, `--checkpoint-history`,
`--checkpoint-history-pipeline`, `--checkpoint-history-limit`,
`--checkpoint-history-status`); the intro claimed the CLI can delete jobs,
which no CLI/REST delete operation supports.
- `usage.mdx` (EN+ZH): added the shipped Flink 1.20 entry point
(`start-seatunnel-flink-20-connector-v2.sh`) to the entrypoint/options/example
tabs.
- `flink.md` (EN+ZH): the referenced example module
`seatunnel-examples/seatunnel-flink-connector-v2-example` and class
`org.apache.seatunnel.example.flink.v2.SeaTunnelApiExample` no longer exist;
now points to the real `seatunnel-flink-{13,15,20}-example` modules and
`SeaTunnelBatchJobExample`/`SeaTunnelStreamingJobExample`.
- `overview.md` (EN+ZH): "All SeaTunnel V2 connectors are compatible with
all three engines" contradicted the table below it (CDC is not supported on
Spark).
- `local-mode-deployment.md` (ZH): `-e local` replaced with `-m local`
(`-e/--deploy-mode` is deprecated since 2.3.1); `deployment.md` (ZH): added the
missing "experimental feature" qualifier for separated cluster mode;
`hybrid/separated-cluster-deployment.md` (ZH): restored broken
`job-metrics-partition-count` YAML indentation, fixed `dynamic-slot: ture`
typo, and ported the missing "S3 (Minio) for IMap storage" sections from EN.
### Index gaps and EN/ZH sync
- `docs/sidebars.js`: `engines/zeta/stain-trace`,
`engines/zeta/stain-trace-quickstart`, `engines/zeta/realtime-observability`,
`getting-started/recipes/jdbc-to-jdbc`, and four `introduction/concepts` pages
(`config`, `incompatible-changes`, `metadata-spi`, `gravitino-type-mapping`)
existed on disk (several linked from other docs) but were unreachable from the
navigation; they are now indexed.
- ZH `rest-api-v2.md`: added the missing Field Description table of the
checkpoint-history endpoint; ZH `rest-api-v1.md`: translated two leftover
English section headings.
- `telemetry.md` (EN+ZH): `job_count` label values now include `pending`
(`JobMetricExports`), and the Prometheus scrape section now documents that the
Jetty `/metrics` / `/openmetrics` endpoints on port 8080 (`enable-http`) are
the default source, while the 5801 Hazelcast endpoint additionally requires
`rest-api.enabled: true` (disabled in the shipped template).
## Which areas/files were updated
33 files: `docs/en/engines/**` (15 files), `docs/zh/engines/**` (17 files),
`docs/sidebars.js`. 472 insertions / 203 deletions.
## Were English and Chinese docs both checked?
Yes. Every fix was applied to both language versions where the issue exists
in both; ZH-only gaps (missing Minio checkpoint example, missing S3 IMap
persistence sections, missing `hdfs_site_path`, broken YAML indentation,
deprecated `-e local`) were ported/fixed to bring ZH back in sync with EN.
## Duplicate PR check (last 7 days)
I checked all PRs by this author in the last 7 days before submitting:
#12621, #12615, #12602, #12570 (open) and #12609, #12553, #12499, #12487
(merged). All of them touch `docs/{en,zh}/connectors/**`,
`docs/{en,zh}/transforms/**` or `docs/{en,zh}/connector-v2/**` only; none
touches `docs/{en,zh}/engines/**`, `docs/sidebars.js`, or any file in this PR.
There is no overlap.
## How the change was verified
- Every removed/renamed key, default value, endpoint and JSON field was
checked against the source (grep on `ServerConfigOptions`,
`YamlSeaTunnelDomConfigProcessor`, `RestConstant`, `OverviewInfo`,
`MetricNames`, `BaseService`, `JobInfoService`,
`HdfsConfiguration`/`S3Configuration`/`HdfsStorage`, `FileConfiguration`,
`ClientCommandArgs`, `RestoreMode`, `JobStatus`, `JobMetricExports`,
`JettyService`, `seatunnel-cluster.sh`, `config/hazelcast.yaml`,
`seatunnel-engine-common/src/main/resources/seatunnel.yaml`).
- All 150 `yaml` code fences in the changed files were parsed with a real
YAML parser (0 failures) — this validates the fixed nesting, comments and
storage examples.
- Relative links in all changed files were extracted and resolved (0 broken).
- `docs/sidebars.js` passes `node --check`, and every sidebar id added
resolves to existing files in both `docs/en` and `docs/zh`.
- The full website build (`docusaurus` in the `document` CI job) requires
syncing to the separate apache/seatunnel-website repo and was not run locally
for that reason; the checks above cover the parts of it that are reproducible
from this repository.
--
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]