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

   ## Purpose of this PR
   
   This PR fixes a batch of real documentation defects found by cross-checking 
the docs against the connector source code, plus a full broken-link/anchor 
sweep of `docs/en` and `docs/zh`. 43 documentation files are updated (en + zh 
kept in sync for every fix).
   
   ## What documentation issues were found
   
   **Option names / defaults inconsistent with code (verified against 
`Options.key(...)` definitions):**
   
   1. **Kafka source `is_native`** – listed in the options table (en + zh) but 
this option never existed anywhere in the connector code (confirmed via `git 
log -S 'Options.key("is_native")'` across all history). It was re-introduced by 
a merge conflict resolution error after PR #11335 had already removed it. Row 
removed.
   2. **Persistiq `content_json`** – the options table says `content_json`, but 
the code (`HttpSourceOptions`) and the document's own examples use 
`content_field`. Renamed in table and detail heading (en + zh).
   3. **HugeGraph sink defaults** – table said `batch_failure_fallback = true` 
and `max_insert_errors = 500`, while `HugeGraphOptions` defines `false` and `0` 
(the en description text even said "Default 0" while the table column said 
500). Fixed (en + zh).
   4. **IoTDBv2 sink defaults** – `max_retries`, `retry_backoff_multiplier_ms`, 
`max_retry_backoff_ms` are `noDefaultValue()` in code but documented as `0`. 
Changed to `-` (en + zh).
   5. **File connector `field_delimiter`** – source ObsFile/OssFile docs only 
listed the deprecated legacy name `delimiter` (code: `field_delimiter` with 
`withFallbackKeys("delimiter")`); renamed to `delimiter/field_delimiter` with 
the deprecation note, matching S3File/HdfsFile docs. Sink file docs (BosFile, 
CosFile, FtpFile, HdfsFile, LocalFile, OssFile, OssJindoFile, SftpFile, S3File, 
zh BosFile, zh OssJindoFile) documented the default as `'\001' for text and ',' 
for csv`, but since #9034 the sink default is a single `'\001'` for all 
formats. Aligned with code and with sink ObsFile docs.
   
   **Broken links / anchors (found via scripted sweep of all 1035 md files):**
   
   6. `docs/zh/connectors/connector-faq.md` – 10 links pointed to `#faq`, but 
the zh target docs use `## 常见问题` headings. Fixed to `#常见问题`.
   7. `connector-faq.md` (en + zh) JDBC Sink link pointed to `#faq`, but 
`Jdbc.md` has no FAQ section – retargeted to the existing `## Troubleshooting` 
/ `## 故障排查` section.
   8. `edge-agent` docs (en + zh: configuration, faq, input-configuration, 
output-configuration, quick-start) – 18 references to stale anchors 
`#identity-file-edge-agentid` / `#身份文件edge-agentid`, 
`#sqlite-persistence-files` / `#sqlite-持久化文件`, `#console-local-test-no-engine`, 
`#production-setup-with-engine` and zh equivalents, all retargeted to the 
current heading slugs.
   9. `docs/zh/engines/zeta/log-analysis-with-ai.md` – linked to 
`rest-api-v2.md#get-logs-from-all-nodes`, but the zh REST API doc uses the 
heading `获取所有节点日志内容`. Fixed.
   10. `docs/zh/connectors/source/{FakeSource,Hbase,Typesense}.md` and 
`docs/zh/connectors/{source,sink}/{BosFile,GcsFile,OssJindoFile}.md` – English 
anchors (`#how-to-declare-type-supported`, `#multimodal`) pointing at zh docs 
whose headings are Chinese; retargeted to the actual zh slugs (`#如何声明支持的类型`, 
`#多模态multimodal`).
   11. `docs/en/connectors/source/ObsFile.md` – copy-paste bug in the tips 
section: `<span id="schema"> read_columns </span>` (wrong id) and `<span 
id="common_options ">` (trailing space breaks the id); both fixed.
   12. `docs/en/introduction/configuration/config-encryption-decryption.md` – 
in-page link contained raw spaces (`(#How to implement user-defined encryption 
and decryption)`), which cannot resolve; replaced with the real heading slug.
   
   ## Which areas/files were updated
   
   - `docs/en/connectors/**` and `docs/zh/connectors/**` (Kafka, Persistiq, 
HugeGraph, IoTDBv2, file connectors, connector-faq) – 32 files
   - `docs/{en,zh}/edge-agent/**` – 10 files
   - `docs/zh/engines/zeta/log-analysis-with-ai.md`, 
`docs/{en,zh}/introduction/**` – 3 files (multimodal zh anchor file included)
   
   In total: **43 files changed, 78 insertions, 80 deletions**.
   
   ## Were both English and Chinese docs checked?
   
   Yes. Every content fix above was applied to both language versions wherever 
the same wrong content existed, and the anchor sweep covered all of `docs/en` 
and `docs/zh`.
   
   ## How duplicate PRs were checked
   
   `gh pr list --repo apache/seatunnel` was checked for open and merged PRs 
from the last 7 days with `Docs` in the title. Found: #12328 (IMap persistence 
examples), #12276 (adds the missing Http-Linear English doc – untouched here; 
`Http-Linear.md` en is the only en/zh file-set gap and it is already handled 
there), #12213/#12214 (Zeta benchmark & contribution guides). None of them 
overlap with the fixes in this PR.
   
   ## How the change was verified
   
   - A scripted link check over all 1035 md files (relative link targets must 
exist): 0 broken files (4 pre-existing false positives inside code blocks in 
`dynamic-compile.md`, untouched).
   - A scripted anchor check (heading slugs incl. `<span id>`/`<a name>`, 
in-page and cross-file): 0 broken anchors after this change (was 74).
   - A scripted cross-check of every doc options table against 
`Options.key(...)` definitions and `defaultValue(...)`/constants extracted from 
`seatunnel-connectors-v2` / `seatunnel-transforms-v2` / `seatunnel-api` source: 
all options renamed/fixed in this PR now resolve; every changed default matches 
the code.
   - Verified no control characters or malformed table rows were introduced 
(`git diff` reviewed per hunk).
   - No build/test run: this PR touches only Markdown documentation, so a full 
Maven build would not exercise the changed files.


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