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

   ## Purpose of this PR
   
   This PR fixes a batch of real documentation issues found by cross-checking 
connector doc option tables against the actual `Option` definitions in the Java 
source code. All issues were verified against code before editing.
   
   ## What issues were found
   
   **1. SqlServer CDC — nonexistent option name and wrong default 
(`docs/{en,zh}/connectors/source/SqlServer-CDC.md`)**
   - The option table documented `connect.timeout` (type `Duration`, default 
`30s`), but this option does not exist in the code. The actual option is 
`connect.timeout.ms` (`Long`, default `30000`) in `JdbcSourceOptions.java`. A 
user following the doc would configure a key that is silently ignored.
   - `server-time-zone` documented a fixed default of `UTC`, but the code 
default is `ZoneId.systemDefault().getId()` (JVM system time zone). Changed to 
`-` with the JVM-default behavior stated in the description, consistent with 
the Oracle/DB2/Opengauss CDC docs.
   
   **2. MongoDB CDC — two live options missing from the option table 
(`docs/{en,zh}/connectors/source/MongoDB-CDC.md`)**
   - `format` (`Enum`, default `DEFAULT`, values `DEFAULT` / 
`COMPATIBLE_DEBEZIUM_JSON`) is part of the CDC base option rule and is consumed 
by `MongodbIncrementalSource`, but was absent from the table. Every other CDC 
doc documents it.
   - `incremental.parallelism` (`Integer`, default `1`) is read by 
`IncrementalSource` for MongoDB snapshot/incremental scheduling but was absent 
from the table.
   
   **3. Paimon — nonexistent option referenced, wrong option key, missing 
option, broken section structure 
(`docs/{en,zh}/connectors/{sink,source}/Paimon.md`)**
   - Sink FAQ told users to set `paimon.auto-create-table = true`, an option 
that does not exist anywhere in the code; automatic table creation is driven 
solely by `schema_save_mode`. Removed the phantom option.
   - Sink option table lacked `multi_table_sink_replica` (`int`, default `1`, 
declared in `PaimonSinkFactory` via `SinkConnectorCommonOptions`); the Iceberg 
and Redis sink docs already document it. Added to both languages.
   - Source FAQ referenced `paimon.catalog.type`, but the real option key is 
`catalog_type` (as the doc's own option table shows). Copying the FAQ text 
would silently fail.
   - Source doc had a duplicate `## Changelog` heading: the "read Paimon table 
changelog" section (mid-file) collided with the version-history Changelog 
section (end of file), so anchors and navigation were ambiguous. Renamed the 
mid-file section to "Read Paimon Table Changelog" (zh: 读取 Paimon 表的 changelog) 
and moved the unrelated "paimon enable privilege example" back under the 
Examples section (matching the zh structure). Updated the two `#changelog` 
cross-links from the sink docs to the new anchor.
   
   **4. Redis source — required single-table options missing from the main 
option table (`docs/{en,zh}/connectors/source/Redis.md`)**
   - `keys` and `data_type` are declared in `RedisBaseOptions` and are part of 
an `exclusive` rule with `tables_configs` (i.e. mandatory when `tables_configs` 
is absent), but appeared only in a sub-table. Added both rows to the main 
option table in both languages.
   
   **5. Persistiq source — English option table missing the Description column 
(`docs/en/connectors/source/Persistiq.md`)**
   - The English table had only name/type/required/default columns while the 
Chinese table carries full descriptions. Added the Description column, with 
wording consistent with the Chinese doc and the per-option sections below the 
table.
   
   ## Which areas/files were updated
   
   11 files, en + zh kept in sync:
   
   - `docs/en/connectors/source/SqlServer-CDC.md` + `docs/zh/...`
   - `docs/en/connectors/source/MongoDB-CDC.md` + `docs/zh/...`
   - `docs/en/connectors/source/Paimon.md` + `docs/zh/...`
   - `docs/en/connectors/sink/Paimon.md` + `docs/zh/...`
   - `docs/en/connectors/source/Redis.md` + `docs/zh/...`
   - `docs/en/connectors/source/Persistiq.md`
   
   ## Were both English and Chinese docs checked?
   
   Yes. Every fix was applied to both language versions where the same content 
exists. The en/zh desync scan (option-table row comparison across all connector 
pages) is also what surfaced the Persistiq and Paimon findings; MyHours and 
IoTDBv2 were scanned and found already consistent, so they were not touched.
   
   ## Duplicate check (last 7 days)
   
   Checked PRs created in the last 7 days before starting (`gh search prs` + 
file lists of each docs PR). Recently merged/open docs PRs cover: file 
connectors (#12499), CosFile (#12514), DuckDB XA (#12505), Doris/SelectDB/Smb 
(#12487), transforms (#12476), JDBC-family/Kafka/Zeta engine docs (#12459), 
MySQL-CDC/TiDB-CDC links (#12452), and EN/zh option-table sync for 
Greenplum/OssJindo/file-sinks/StarRocks/PostgreSQL/Splunk (#12553, still open). 
None of these PRs touch the connectors or issues fixed here (SqlServer-CDC, 
MongoDB-CDC, Paimon, Redis source, Persistiq), so there is no overlap. 
MySQL-CDC/TiDB-CDC were deliberately excluded from this batch because of #12452.
   
   ## How the change was verified
   
   - Each option name/type/default/required value was verified against the 
connector Java sources (`JdbcSourceOptions`, CDC base `SourceOptions`, 
`MongodbIncrementalSource`, `PaimonBaseOptions`/`PaimonSinkFactory`, 
`RedisBaseOptions`/`RedisSourceFactory`, `SinkConnectorCommonOptions`) before 
editing.
   - Ran a scripted check over all 11 modified files: every Markdown table has 
consistent column counts and every relative link resolves to an existing file — 
all passed. Anchor cross-links (`#read-paimon-table-changelog`) were verified 
against the renamed headings.
   - A full Docusaurus build was not run because the website toolchain 
(package.json / docusaurus config) lives in the separate 
apache/seatunnel-website repository; this repo ships only the `docs/{en,zh}` 
content and `sidebars.js`. No docs-only CI exists in this repository's 
workflows.
   


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