版本升级
概览
本指南提供 GreptimeDB 的升级说明,包括每个版本的兼容性信息和破坏性变更。升级前,请确保查看与你的升级路径相关的破坏性变更。
升级时,请查看当前版本之后、直到目标版本为止的各版本变更。查看中间版本的变更 不代表必须逐个安装这些版本;实际升级步骤请遵循下方支持的升级路径。
完整的版本历史和功能新增,请参见发行说明。
升级到 v1.2 的路径
从 v1.0 或 v1.1 到 v1.2
如果你当前运行的是 v1.0 或 v1.1,可以直接升级到 v1.2。升级前,请先查看 从 v1.0 或 v1.1 升级到 v1.2,并完成 升级检查清单中的相关检查。 如果当前版本是 v1.0,还需查看 v1.1 的 Metric Engine 变更。
从 v0.17 或更早版本到 v1.2
如果你要从 v0.17 或更早版本升级到 v1.2,请先查看下方适用的 v1.0 升级路径, 再处理 v1.2 的破坏性变更。
如果使用 Metric Engine,还需查看 v1.0 的压缩建议 和 v1.1 的 Metric Engine 变更。
升级到 v1.0 的路径
从 v0.16 到 v1.0
如果你当前运行的是 v0.16,可以直接升级到 v1.0。请参见从 v0.16 升级到 v1.0 了解所有相关的破坏性变更。
从 v0.17 到 v1.0
如果你当前运行的是 v0.17,可以直接升级到 v1.0。请参见从 v0.17 升级到 v1.0 了解破坏性变更。
从更早版本升级
重要提示: 本指南仅涵盖从 v0.16 及更高版本的升级。
如果你运行的版本早于 v0.16,必须先按照当前版本的升级文档升级到 v0.16。成功升级到 v0.16 后,再使用本指南升级到 v1.0。
各版本的破坏性变更
从 v1.0 或 v1.1 升级到 v1.2
移除 PromQL holt_winters
影响: PromQL 查询解析
holt_winters 这个名字已被移除。它只是为向后兼容保留的别名,函数本身没有变化,
仍然可以通过 double_exponential_smoothing 使用 —— 这个名字在 v1.2 之前就已经
支持。
需要的操作:
-
在仪表盘、录制规则、告警规则和 API 调用方中搜索
holt_winters( -
把每处调用改名为
double_exponential_smoothing(...),参数和结果完全一致:# v1.2 之前
holt_winters(prom_series[10s], 0.5, 0.1)
# v1.2 及之后
double_exponential_smoothing(prom_series[10s], 0.5, 0.1) -
修改后在预发环境重新执行这些查询
拒绝 fill、fill_left 和 fill_right PromQL 修饰符
影响: 为避免错误查询计划而收紧 PromQL 兼容性
v1.2 升级了 PromQL 解析器,二元运算符修饰符 fill、fill_left 和 fill_right
因此首次在语法上变得合法,例如 metric_a + fill(0) metric_b。GreptimeDB 并未
实现它们所需的 outer join 语义,因此会直接拒绝这类用法(无论是直接使用还是嵌套
使用),而不是把它们当作普通的 inner join 来规划。
更早的版本根本无法解析这些修饰符,所以 v1.2 之前能正常工作的查询都不受影响。
这也与 SQL 的 RANGE ... FILL 子句无关,后者没有变化。
需要的操作:
- 在 PromQL 表达式中搜索
fill(、fill_left(和fill_right(