morningman opened a new pull request, #4426:
URL: https://github.com/apache/doris-website/pull/4426
## Summary
Rename the experimental row binlog to **changelog** in the English and
Chinese docs, following apache/doris#69311. Three pages move to new URLs (old
URLs redirect in every locale), every page that mentions the feature uses the
new property names, table function, hidden columns, error messages and switch,
and the changelog page now describes the behavior #69311 introduced.
## Why
apache/doris#69311 renamed row binlog (`"binlog.enable" = "true"` +
`"binlog.format" = "ROW"`, the change stream that Table Stream and incremental
materialized views read) to changelog and split it from CCR binlog. It is a
hard cut on an unreleased feature, so the docs on master describe names that no
longer exist:
| Before | After |
|---|---|
| `"binlog.enable" = "true"` + `"binlog.format" = "ROW"` |
`"changelog.enable" = "true"` |
| `binlog.ttl_seconds` (ROW tables), `binlog.need_historical_value` |
`changelog.ttl_seconds`, `changelog.need_historical_value` |
| `binlog(...)` table function | `changelog(...)` |
| `__DORIS_BINLOG_{TSO,LSN,OP}__`, `__BEFORE__<col>__` |
`__DORIS_CHANGELOG_{TSO,LSN,OP}__`, `__DORIS_CHANGELOG_BEFORE_<col>__` |
| `enable_feature_binlog` (FE, BE) for row binlog and TSO |
`enable_feature_changelog`; `enable_feature_binlog` is CCR only |
CCR binlog, `SHOW PROC '/binlog'`, MySQL binlog CDC, Canal binlog load and
Paimon `$binlog` do not change.
## Renamed pages and redirects
| Old URL | New URL |
|---|---|
| `/docs/dev/data-operate/incremental/row-binlog` |
`/docs/dev/data-operate/incremental/changelog` |
| `/docs/dev/sql-manual/sql-functions/table-valued-functions/binlog` |
`/docs/dev/sql-manual/sql-functions/table-valued-functions/changelog` |
| `/docs/dev/key-features/binlog-table-stream` |
`/docs/dev/key-features/changelog-table-stream` |
| `/docs/4.x/key-features/binlog-table-stream` |
`/docs/4.x/key-features/changelog-table-stream` |
The same four mappings apply under `/zh-CN`, `/ja`, `/ko` and `/ru`. The
redirects are one loop over `ENABLED_LOCALES` in `buildRedirectIndex()`
(`docusaurus.config.js`), next to the DOG Stack block and in the style of the
hackathon redirects, so each optional locale gets them as soon as it is
enabled. They are not in `config/redirects-dev.json`, which lists en and zh-CN
paths only, nor in `config/redirects-4.x.json`, which
`scripts/migrate-4.x/build-redirects.py` generates. Evaluating
`createRedirects` from the site config gives 20 old paths with
`DORIS_ENABLE_LOCALES=ja,ko,ru` and 8 with the default locales.
The PR has two commits so the moves stay reviewable: the first only moves
the six files (en / zh-CN, dev / 4.x), and the second rewrites them. The
rewritten pages keep 36–41% of their text, so the combined diff shows them as
delete + add; look at the second commit to see what changed in them.
The key-features slug is now `/key-features/changelog-table-stream`. The
card image keeps its name (`binlog-table-stream.jpg`): pages reference it by
path, nothing pairs it with the page by file name. `sidebars.ts` points to the
new doc ids; the table function moves to its alphabetical place.
## Other changes
- The changelog page documents the new behavior: `changelog.enable` and
`changelog.need_historical_value` can only be set by `CREATE TABLE`,
`changelog.ttl_seconds` can be altered, `binlog.format` and
`binlog.need_historical_value` are rejected, CCR binlog and changelog are
mutually exclusive (table, database, `RECOVER TABLE`), temporary tables never
have changelog, a database can make changelog the default and `SHOW CREATE
TABLE` then prints `"changelog.enable" = "false"` for tables without it, views
/ CTAS / MTMV over `changelog()` must list and alias the `__DORIS_` columns,
and `enable_feature_changelog` is needed in `fe.conf` (and `be.conf` for
cleanup). A short note says the feature was called row binlog in earlier
development builds and that tables created that way must be recreated.
- Every quoted error message matches the FE on Doris master, for example
`Changelog offset has expired according to changelog.ttl_seconds`, `INCR query
requires changelog enabled on base table.`, `Base Olap table ... need to enable
changelog for table stream`, `Not allowed to perform current operation on Table
With changelog`.
- Stale content fixed:
- `binlog.format` case sensitivity (the property no longer exists);
- the key-features pages enabled ROW with `ALTER TABLE ... SET
("binlog.format" = "ROW")`; changelog can only be enabled by `CREATE TABLE`;
- the OP hidden column is `BIGINT`, not `TINYINT`;
- the changelog page said backup / restore work as usual; the FE rejects
backup and restore of tables with changelog;
- the key-features pages described CCR binlog and ROW as two formats of
one binlog; changelog is a separate, per-table change stream that cannot be
combined with CCR binlog. The same pages also used `CREATE STREAM ... ON
<table>` and `"type" = "default"` (now `ON TABLE` and `min_delta`), listed a
`default` consume type (now `detail` / `append_only` / `min_delta`), and said
retention waits for streams and is reported in `STALE_REASON` (it does neither).
- Table Stream, incremental query, IVM, CREATE TABLE / CREATE STREAM / DROP
STREAM, CREATE ASYNC MATERIALIZED VIEW, MV FAQ, TSO and FE configuration pages
use the new names. CREATE TABLE lists `changelog.ttl_seconds`.
- Flink Doris Connector incremental reading uses the Doris-side names and
the connector's renamed options
`source.changelog.{increment-type,poll-interval,visible-wait-timeout,offset-table,consumer-id}`
(apache/doris-flink-connector#710); it says "Doris changelog" where Flink
changelog records are also discussed. The required connector version is now
26.4.0, the release expected to carry apache/doris-flink-connector#710: 26.3.0
and earlier read the hidden columns under their old names, so they only work
with Doris development builds from before the rename.
- The Data Warehousing use-case page links to the new key-features URL, and
the query cache decision-flow SVG says "changelog scan".
## Not changed on purpose
- Japanese, Korean and Russian docs and `translations/`: the translation
pipeline re-translates the edited pages and handles the moved ones. Until then
their old translated files are orphaned and the moved pages show English. The
ja / ko labels for `marketing.warehouse.075` still read "Binlog / Table Stream".
- `src/pages/community-report/` (historical weekly reports),
`scripts/last-update/`, `scripts/migrate-4.x/`.
- CCR docs, `SHOW PROC '/binlog'`, MySQL binlog, Canal and Paimon content.
- Raster images that still show the old name:
`static/images/next/data-operate/incremental/two-layers.png` and
`static/images/next/query-acceleration/ivm-workflow.jpg` ("Row Binlog"), and
the key-features card `static/images/next/key-features/binlog-table-stream.jpg`
(`binlog.format = ROW`, and a CCR consumer arrow). Alt texts are updated; the
pictures need to be redrawn.
## Validation
- Static checks on every changed doc: front matter, relative links, MDX
tags, no CJK in English trees, table column counts: pass.
- `scripts/check_md_links_single.py --no-external` on all added / modified
en, zh-CN and 4.x docs: pass. Anchors in the touched files were checked
separately; the only unresolved ones are five pre-existing anchors in zh-CN
`CREATE-TABLE.md` and the MV FAQ, on lines this PR does not change.
- No en / zh-CN doc, sidebar, component or config links to the old paths;
the remaining mentions of the old names are the rename note, the
rejected-property error messages, CCR / MySQL binlog, the redirect sources and
the card image path.
- `node scripts/check_move.js HEAD`, `python3 check_move.py HEAD` and
`python3 check_move.py <merge-base>`: pass.
- `node scripts/i18n/check-configuration.cjs --all`: pass.
- `I18N_LOCALE=<ja|ko|ru> node scripts/i18n/pr-preflight.cjs --base
<merge-base>` for each of the three locales: pass, 0 errors (source freshness
for these locales is reported, not blocking).
- `node --test` for the i18n `marketing-pages`, `doc-navigation`,
`configuration`, `t04`, `inventory`, `planner`, `multi-locale`,
`locale-registry` and `heading-ids` tests: pass.
- `scripts/key-features/generate.js` produces the card with href
`/docs/dev/key-features/changelog-table-stream`.
- The edited SVG parses and renders with the new text inside its boxes.
- No site build was run.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]