[doc](flink) Document recovery from persisted consumption offsets (#4438) Update the English and Chinese dev docs for automatic recovery from the persisted offset table. Describe recovery precedence, checkpoint-covered asynchronous writes, consumer ID isolation, and how to start a fresh snapshot after changelog expiration. This feature requires Doris 5.0, so the older versioned pages are unchanged. Pin the Build Check runner to Ubuntu 22.04 so its existing Python 3.9 setup remains installable after ubuntu-latest moved to Ubuntu 26.04. ## Validation - Docusaurus compilation of both updated pages passed. - Internal link checks and git diff whitespace checks passed. - English and Chinese SQL/output blocks match; front matter and heading anchors are preserved. - 52 related workflow tests passed; YAML comparison confirms only the runner image changed. - Full site build and live integration tests were not run locally. ## Versions - [x] dev - [ ] 4.x - [ ] 3.x - [ ] 2.1 or older (not covered by version/language sync gate) ## Languages - [x] Chinese - [x] English ## Docs Checklist - [x] Checked by AI - [ ] Test Cases Built - [x] Updated required version and language counterparts, or explained why not - [x] If only one language changed, confirmed whether source/translation counterparts need sync
Source code for doris.apache.org, built with Docusaurus 3.
Use local_dev.sh to run the site locally. It handles dependency installation, version filtering, and memory settings automatically.
# Start English dev server (default: only 'current' version, 2 GB memory) ./local_dev.sh # Start Chinese dev server ./local_dev.sh start-zh # Start on a custom port ./local_dev.sh start --port 8080 # Build a specific doc version ./local_dev.sh start --versions "4.x" # Build English docs (production build) ./local_dev.sh build # Build all locales (en + zh-CN) ./local_dev.sh build-all # Clean build artifacts and caches ./local_dev.sh clean
Run ./local_dev.sh help for all available commands and options.
export NODE_OPTIONS=--max-old-space-size=8192 yarn install yarn docusaurus build --locale en --locale zh-CN
The output is generated in the build/ directory.
. ├── docs/ # Current (dev) version docs (English) ├── versioned_docs/ │ ├── version-4.x/ # 4.x version docs (English) │ ├── version-3.x/ # 3.x version docs (English) │ └── version-2.1/ # 2.1 version docs (English) ├── i18n/zh-CN/ │ └── docusaurus-plugin-content-docs/ │ ├── current/ # Current (dev) version docs (Chinese) │ ├── version-4.x/ # 4.x version docs (Chinese) │ ├── version-3.x/ # 3.x version docs (Chinese) │ └── version-2.1/ # 2.1 version docs (Chinese) ├── blog/ # Blog posts ├── community/ # Community docs ├── src/ # React components and pages ├── static/ # Static assets (images, JS, CSS) ├── sidebars.ts # Sidebar for current (dev) docs ├── versioned_sidebars/ # Sidebar files per version │ ├── version-4.x-sidebars.json │ ├── version-3.x-sidebars.json │ └── version-2.1-sidebars.json ├── sidebarsCommunity.json # Sidebar for community docs ├── versions.json # Active doc versions ├── docusaurus.config.js # Docusaurus configuration └── local_dev.sh # Local development helper script
For general contribution guidelines, see:
When modifying docs, you typically need to update both the English and Chinese versions in the corresponding directories:
| Version | English | Chinese | Sidebar |
|---|---|---|---|
| Current (dev) | docs/ | i18n/zh-CN/.../current/ | sidebars.ts |
| 4.x | versioned_docs/version-4.x/ | i18n/zh-CN/.../version-4.x/ | versioned_sidebars/version-4.x-sidebars.json |
| 3.x | versioned_docs/version-3.x/ | i18n/zh-CN/.../version-3.x/ | versioned_sidebars/version-3.x-sidebars.json |
| 2.1 | versioned_docs/version-2.1/ | i18n/zh-CN/.../version-2.1/ | versioned_sidebars/version-2.1-sidebars.json |
Note: When adding a new page, you must also add its path to the corresponding sidebar file, otherwise it will not appear in the navigation.
Blog posts are located in the blog/ directory. Submit a PR to add or modify blog content.
Community docs are in community/, with navigation controlled by sidebarsCommunity.json. Chinese community content lives under i18n/zh-CN/docusaurus-plugin-content-docs-community/.
All images are stored in static/images/. Use hyphens to separate words in filenames (e.g., query-profile-example.png).

The site is deployed via GitHub Actions:
| Workflow | Trigger | Description |
|---|---|---|
cron-deploy-website.yml | Push to master; daily at 01:00 UTC | Builds and deploys the site; the daily run refreshes dynamic data and provides a fallback |
manual-deploy-website.yml | Manual | Deploy from a specified branch |
build-check.yml | On PR | Validates the build passes (incrementally by detected version) |