@@ -50,7 +50,7 @@ databend-bend.version >= databend-query.min-compatible-metasrv-version
5050::: caution
5151
5252如果部署了不兼容的版本,当 databend-query 尝试连接到 databend-meta 时,将发生 ` InvalidArgument ` 错误,
53- 可以在 databend-query 日志中找到该错误 。
53+ 可以在 databend-query 日志中找到 。
5454然后 databend-query 将停止工作。
5555
5656:::
@@ -106,38 +106,46 @@ S.ver: 2 3 4
106106| [ 1.2.226, 1.2.258) | ✅ | ✅ | ✅ | ❌ |
107107| [ 1.2.258, +∞) | ✅ | ✅ | ✅ | ✅ |
108108
109- 以上图表中未包含的历史版本 :
109+ 未包含在上述图表中的历史版本 :
110110
111111- Query ` [0.7.59, 0.8.80) ` 与 Meta ` [0.8.30, 0.9.23) ` 兼容。
112112- Query ` [0.8.80, 0.9.41) ` 与 Meta ` [0.8.35, 0.9.42) ` 兼容。
113113
114114
115115<img src =" /img/deploy/compatibility.excalidraw.png " />
116116
117- ## databend-query 之间的兼容性
117+ # databend-query 之间的兼容性
118118
119- | Query version | 向后兼容 |
120- | :-------------------| :--------------------------|
121- | [ -∞, 1.2.307) | [ -∞, 1.2.311) |
122- | [ 1.2.307, 1.2.311) | [ -∞, 1.2.311) |
123- | [ 1.2.311, +∞) | [ 1.2.307, +∞) |
119+ ## 版本兼容性矩阵
124120
125- 自 1.2.307 起,支持使用 pb 和 json 反序列化 Role 信息,但仅支持将 Role 信息序列化为 json。
121+ | Query version | Backward compatible with | Key Changes |
122+ | :-------------------| :--------------------------| :------------|
123+ | [ -∞, 1.2.307) | [ -∞, 1.2.311) | Original format |
124+ | [ 1.2.307, 1.2.311) | [ -∞, 1.2.311) | Added Role info with PB/JSON support |
125+ | [ 1.2.311, 1.2.709) | [ 1.2.307, +∞) | Role info serialized to PB only |
126+ | [ 1.2.709, +∞) | [ 1.2.709, +∞) | ** Important** : Fuse storage path changed |
126127
127- 自 1.2.311 起,仅支持将 Role 信息序列化为 pb。
128+ ## Important Changes & Upgrade Instructions
128129
129- 防止未成功升级的查询节点由于滚动升级期间对角色的操作而无法读取数据。 建议您升级到 1.2.307,然后再升级到 1.2.311。
130+ ### Version 1.2.307
131+ - Support deserialize Role info with PB and JSON
132+ - Only support serialize Role info to JSON
133+ - ** Upgrade to this version first** if you're on an earlier version
130134
131- 例如,当前版本为 1.2.306 升级到 1.2.312:
135+ ### Version 1.2.311
136+ - Only support serialize Role info to PB
137+ - ** Upgrade to this version next** after reaching 1.2.307
138+ - Example upgrade path: ` 1.2.306 -> 1.2.307 -> 1.2.311 -> 1.2.312 `
132139
133- ```
134- 1.2.307 -> 1.2.311 -> 1.2.312
135-
136- ```
140+ ### Version 1.2.709
141+ - ** Important Change** : Fuse storage path modified
142+ - ⚠️ Versions before 1.2.709 may not be able to read some data from versions 1.2.709+
143+ - ⚠️ ** Recommendation** : All nodes under the same tenant should be upgraded together
144+ - Avoid mixing nodes with versions before and after 1.2.709 to prevent potential data access issues
137145
138146## databend-meta 之间的兼容性
139147
140- | Meta version | 向后兼容 |
148+ | Meta version | Backward compatible with |
141149| :--------------------| :-------------------------|
142150| [ 0.9.41, 1.2.212) | [ 0.9.41, 1.2.212) |
143151| [ 1.2.212, 1.2.479) | [ 0.9.41, 1.2.479) |
@@ -149,34 +157,34 @@ S.ver: 2 3 4
149157
150158- ` 1.2.53 ` 不兼容,允许滚动升级,无需传输快照。
151159 快照格式已更改,因此在滚动升级期间,
152- 它要求所有节点数据都是最新的,确保无需使用快照进行复制 。
160+ 它要求所有节点数据都是最新的,确保不需要使用快照进行复制 。
153161
154- - ` 1.2.163 ` 功能:gRPC API:添加了 ` kv_read_v1() ` 。 用于流式读取。
162+ - ` 1.2.163 ` 功能:gRPC API:添加了 ` kv_read_v1() ` 。用于流式读取。
155163
156- - ` 1.2.212 ` 2023-11-16 功能:raft API:` install_snapshot_v1() ` 。 与旧版本兼容。
164+ - ` 1.2.212 ` 2023-11-16 功能:raft API:` install_snapshot_v1() ` 。与旧版本兼容。
157165 支持滚动升级。
158166 在此版本中,databend-meta raft-server 引入了一个新的 API ` install_snapshot_v1() ` 。
159- raft-client 将尝试使用此新 API 或原始的 ` install_snapshot() ` 。
167+ raft-client 将尝试使用这个新的 API 或原始的 ` install_snapshot() ` 。
160168
161169- ` 1.2.479 ` 2024-05-21 从客户端和服务器中删除:` install_snapshot() ` (v0)。
162170 ` install_snapshot_v1() ` 是安装快照的唯一 API,并且对于客户端来说是** 必需的** 。
163171
164- - ` 1.2.528 ` 2024-06-13 删除磁盘数据版本 ` V001 ` 。 使用 ` V002 ` 的第一个版本是 ` 1.2.53 ` ,2023-08-08。
165- 因此,自 ` 1.2.528 ` 起 ,最旧的兼容版本是 ` 1.2.53 ` 。
172+ - ` 1.2.528 ` 2024-06-13 删除磁盘数据版本 ` V001 ` 。使用 ` V002 ` 的第一个版本是 ` 1.2.53 ` ,2023-08-08。
173+ 因此,自 ` 1.2.528 ` 以来 ,最旧的兼容版本是 ` 1.2.53 ` 。
166174 因此,自此版本起,兼容性保持不变。
167175
168176- ` 1.2.552 ` 2024-07-02 引入磁盘 ` V003 ` ,使用 ` rotbl ` 格式快照,
169- 与 ` V002 ` 兼容。 最旧的兼容版本是 ` 1.2.288 ` (已删除 ` 1.2.212~1.2.287 ` )。
177+ 与 ` V002 ` 兼容。最旧的兼容版本是 ` 1.2.288 ` (` 1.2.212~1.2.287 ` 已删除 )。
170178
171179- ` 1.2.655 ` 2024-11-11 引入磁盘 ` V004 ` ,使用基于 WAL 的 Raft 日志存储,
172- 与 ` V002 ` 兼容。 最旧的兼容版本是 ` 1.2.288 ` (已删除 ` 1.2.212~1.2.287 ` )。
180+ 与 ` V002 ` 兼容。最旧的兼容版本是 ` 1.2.288 ` (` 1.2.212~1.2.287 ` 已删除 )。
173181
174182
175183## databend-meta 磁盘数据的兼容性
176184
177185Databend-meta 的磁盘数据随着时间的推移而演变,同时保持向后兼容性。
178186
179- | DataVersion | Databend-version | 最小兼容版本 |
187+ | DataVersion | Databend-version | Min Compatible with |
180188| :------------| :-----------------| :--------------------|
181189| V004 | 1.2.655 | V002 |
182190| V003 | 1.2.547 | V002 |
@@ -210,7 +218,7 @@ Working DataVersion 必须大于或等于磁盘 DataVersion;否则,它将 pa
210218
211219### 自动升级
212220
213- 当 ` databend-meta ` 启动时,如果磁盘与工作 DataVersion 兼容,则会升级磁盘 。
221+ 当 ` databend-meta ` 启动时,如果磁盘数据与工作 DataVersion 兼容,则会升级磁盘数据 。
214222升级进度将打印到 ` stderr ` 和 INFO 级别的日志文件中,例如:
215223
216224``` text
@@ -234,5 +242,5 @@ Write header: version: V001, upgrading: None
234242- 备份的第一行是版本,例如:
235243 ` ["header",{"DataHeader":{"key":"header","value":{"version":"V100","upgrading":null}}}] `
236244
237- - 导入时** 不会进行自动升级 ** 。
238- 自动升级仅在启动 ` databend-meta ` 时完成 。
245+ - 导入时** 不会自动升级 ** 。
246+ 只有在启动 ` databend-meta ` 时才会自动升级 。
0 commit comments