src/meta/ver/compat_docs/README.md
Compatible version ranges between databend-query and databend-meta-service, and between databend-meta-service raft nodes.
Pre-calculated compatible version ranges:
To look up a specific version:
python3 scripts/find_compat.py -q 1.2.600 # compatible metasrv for query 1.2.600
python3 scripts/find_compat.py -m 1.2.400 # compatible query for metasrv 1.2.400
Regenerate: update the known versions in src/, then:
make
make regenerates meta_to_meta.txt from src/raft-peer-compatibles.txt, a
snapshot of the databend-meta raft-compat binary output (raft compatibility is
defined there, not in this repo's git-tag pipeline). Refresh the snapshot from a
databend-meta checkout when raft features change, then run make:
cargo run -p databend-meta-version --bin raft-compat > <compat_docs>/src/raft-peer-compatibles.txt
| File | Purpose |
|---|---|
| scripts/extract_from_git.py | One-time. Extracts version constraints from git tags into src/min_compatible_versions.txt. |
| scripts/resolve_versions.py | Resolves CalVer (e.g. 260205.0.0) to repo tag versions. Writes generated/resolved_min_compatibles.txt. |
| scripts/find_compat.py | Prints compatible version range for a given query or metasrv version. |
| scripts/format_raft_compat.py | Re-keys src/raft-peer-compatibles.txt from databend-meta version to databend version (CalVer mapped via the MetaService column of src/min_compatible_versions.txt) into meta_to_meta.txt. |
| Makefile | Runs resolve, then generates the output tables. |
src/)| File | Purpose |
|---|---|
| src/min_compatible_versions.txt | Raw version data from git tags. |
| src/external-meta-min-compatibles.txt | Min server/client versions for each external databend-meta crate release. |
| src/raft-peer-compatibles.txt | Snapshot of databend-meta raft-compat output: raft peer range per metasrv version. |
| File | Purpose |
|---|---|
| generated/resolved_min_compatibles.txt | Resolved version table. Input for scripts/find_compat.py. |
| query_to_meta.txt | Compatible metasrv range for every query version. |
| meta_to_query.txt | Compatible query range for every metasrv version. |
| meta_to_meta.txt | Compatible peer range for every metasrv version (raft inter-node protocol). |