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

   ## Acknowledgement
   
   Yes, I am glad to contribute to Apache SeaTunnel.
   
   ## What documentation issues were found
   
   All issues below were verified against the actual source code on the current 
`dev` branch before editing.
   
   ### HTTP-family SaaS sources (Github / Gitlab)
   
   - The pagination options (`page_type`, `cursor_field`, 
`cursor_response_field`, `batch_size`, `start_page_number`, `total_page_size`, 
`use_placeholder_replacement`) were documented as **top-level** options, but 
`HttpSource#buildPagingWithConfig` reads them **only from the nested `pageing` 
block** (`connector-http-base/.../source/HttpSource.java`). A user setting 
`page_type = "Cursor"` at the source level gets silently no pagination. Renamed 
the table rows/sections to `pageing.*` (consistent with `Http.md`) and stated 
that top-level pagination keys are ignored.
   - Gitlab.md claimed `Cursor` pagination reads the `X-Next-Page` **HTTP 
response header**; the code reads the cursor only from the **response body** 
via `pageing.cursor_response_field` (`HttpSourceReader.java`). Following the 
old text would read exactly one page while the job reports success.
   - `format` was documented as `json`/`text` only, but `ResponseFormat` also 
has `binary` (BATCH mode), chunked by the undocumented `binary_chunk_size` 
option (`HttpConfig.java`, `HttpSourceOptions.java`). Documented both.
   
   ### HTTP-based sinks (Feishu / Enterprise-WeChat)
   
   - `retry`, `retry_backoff_multiplier_ms`, `retry_backoff_max_ms` were 
documented as functional, but `HttpSink` never reads them (`HttpSink.java` 
constructor; `HttpParameter.buildWithConfig` is not called on the sink path), 
so the retryer stays a no-op. Marked the options as accepted-but-not-applied 
and removed the retry lines from the Feishu examples.
   - Enterprise-WeChat.md additionally claimed the connector "inherits the 
standard HTTP retry behaviour", and showed message fields rendered on separate 
lines. The serializer joins fields with the **literal two-character sequence 
`\n`** (`WeChatBotMessageSerializationSchema.java`), so the example output was 
corrected to a single line and the behavior is now described accurately.
   
   ### Other sink fixes
   
   - **Cassandra sink**: `consistency_level` is parsed and validated but never 
applied to write statements (`CassandraSinkWriter` builds statements without 
it; the only runtime consumer is the source reader). Also fixed the 
`async_write`/`batch_size` note: with the default `async_write = true` each row 
is sent as an individual async statement, batching into one `BatchStatement` 
happens only in the sync path. Removed the no-op `consistency_level` key from 
the CDC example.
   - **IoTDB sink**: the declared `batch_size` default (1024) is not applied 
because `SinkConfig.loadConfig` only sets it when the key is explicitly 
present; unset means rows are flushed only on checkpoint/close. Documented the 
actual behavior with a note.
   - **Lance sink**: the type table claimed `FLOAT -> float32`, but 
`SchemaUtils.convertSchema` maps `FLOAT`/`DOUBLE` to Arrow 
`FloatingPoint(DOUBLE)` (`float64`).
   - **Couchbase sink**: `upsert-enable = true` fails fast at startup when 
`primary-key` is not configured (`CouchbaseSinkFactory`); the prerequisite is 
now documented.
   
   ### CDC docs
   
   - **PostgreSQL-CDC**: added the missing `incremental.parallelism` option row 
(accepted via the CDC base rule and consumed by `IncrementalSource`); the FAQ 
listed 3 decoding plugins while the option table and code accept 6 values — 
aligned the FAQ and noted schema evolution requires `pgoutput`.
   - **MySQL-CDC / PostgreSQL-CDC**: `server-time-zone` has a non-null default 
(`ZoneId.systemDefault().getId()`), the Default cell said `-`.
   - **MongoDB-CDC**: added a note that the JDBC-oriented base options 
`snapshot.split.size` / `snapshot.fetch.size` / `enable_concurrent_read` pass 
validation but are unused by MongoDB-CDC.
   - **MySQL-CDC**: fixed en/zh divergence in the "read tables without a 
primary key" section (each language had a paragraph the other lacked).
   
   ### Small fixes
   
   - Zendesk/Shopify sources: "only `json` and `text` are supported" corrected 
(underlying HTTP source also accepts `binary`).
   - zh Zendesk sink: `multi_table_sink_replica` was described as writer 
**concurrency** (并发数); it is a replica number, aligned with en and 
`SinkConnectorCommonOptions`.
   
   ## What was changed / which areas were updated
   
   27 documentation files (13 connectors, English + Chinese): 
`docs/{en,zh}/connectors/source/{Github,Gitlab,Shopify,Zendesk,MongoDB-CDC,MySQL-CDC,PostgreSQL-CDC}.md`,
 
`docs/{en,zh}/connectors/sink/{Cassandra,IoTDB,Feishu,Enterprise-WeChat,Lance,Couchbase}.md`,
 plus the zh Zendesk sink parity fix.
   
   ## Were English and Chinese docs both checked?
   
   Yes. Every fix was applied to both language versions; the MySQL-CDC zh page 
also received the missing paragraph from the en page (and vice versa) so the 
two languages carry the same content.
   
   ## Duplicate PR check (last 7 days)
   
   I listed all open PRs with "Docs" in the title before starting (31 PRs) and 
collected their changed-file lists (340 files). The connectors fixed here 
(Github, Gitlab, Feishu, Enterprise-WeChat, Lance, Couchbase, Cassandra sink, 
IoTDB sink, Zendesk, Shopify, MongoDB-CDC, MySQL-CDC, PostgreSQL-CDC) do not 
appear in any of those PRs' file lists, including the author's own recent 
batches (#12986, #12971, #12951, #12941, #12865, #12813, #12730, #12709, 
#12679, #12602) and the older `[Docs][Connector-V2] Improve ...` series 
(#11694–#11787). No file modified here overlaps an open docs PR.
   
   ## How the change was verified
   
   - Every issue was located in the source code first (option classes, 
`optionRule()`, factory identifiers, and the writer/reader implementations 
cited above), then the docs were corrected to match the code.
   - After editing: automated checks confirmed all 27 files have consistent 
markdown table column counts, and all relative links in the modified files 
resolve to existing files.
   - No Java build was run because this change is documentation-only; no code 
paths were touched.
   


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