产品更新 – 全新 InfluxDB OSS 2.4 版本发布,带来重大改进

导航至

我们热爱编写和发布代码,以帮助开发者将他们的想法和项目变为现实。因此,我们不断改进我们的产品,以满足开发者的需求,确保他们的满意度,并加速实现 Time to Awesome。

本周,我们发布了新的 InfluxDB OSS 版本,其中包含多个新功能、安全更新和错误修复。以下是完整的发行说明

InfluxDB OSS 2.4 改进了用户模型并新增了 CLI 功能

此版本的 InfluxDB 带来了新的核心功能、Flux 增强功能以及 API 的新增功能,以支持 CLI 的特性。

用户模型和 CLI

  • 操作员模型已更改,允许管理员用户在没有操作员令牌的情况下获得实例级权限。

  • 添加了 influx remote 命令。

  • 添加了 influx replication 命令。

  • 增强了 InfluxDB 和 OSS 特定命令的错误消息。

  • 添加了 api/v2/config 端点以显示运行时配置。

  • 完整的 CLI 新增功能 发行说明

  • 重新添加了 v1 InfluxQL shell/REPL。更多详情请查看 v1 Shell 博客

  • 在复制 API 中支持 v1 dbrp 名称作为 bucket ID,使复制的创建更加容易,并增加了对复制到 Enterprise 集群的 v2 /write 端点的支持。

Flux 增强功能亮点

  • Flux 从 0.171.0 升级到 0.179.0

  • 在 join 包中添加了多个新的 join 函数,例如 join.full()

  • experimental.to() 提升为 influxdata.influxdb.wideTo()

  • 在 date 包中添加了内置函数 time,用于将任何时间表转换为 datetime

  • 将以下函数从 experimental.array 提升到 array 包:array.concat(), array.filter(), array.map()

  • 将以下函数从 experimental.http.requests 提升到 http.requests:http.requests.do(), http.requests.get(), http.requests.peek(), http.requests.post()

  • experimental.bitwise 提升到 bitwise 包

  • 在矢量化 map() 中支持条件表达式、常量和字面量

安全更新

  • gopkg.in/yaml.v3 包导入中的一个问题,可能导致模板服务中的 DoS 攻击。
  • github.com/buger/jsonparser 包导入中的一个问题,可能导致存储授权中的 DoS 攻击。
  • 此版本包含 Go 1.17.8-1.18.3 的累积安全修复程序。这些修复程序解决了以下 InfluxDB 问题
    • 处理大型 PEM 文件时的一个问题,可能导致模板服务或使用 to() 的 Flux 连接中的 DoS 攻击
    • TLSv1.3 中的一个问题以及缺少票证随机性
    • Windows 上 filepath.Clean() 的一个小问题

错误修复

  • 修复了远程复制死锁中的竞争条件,该死锁阻止了远程写入器写入目标。

  • 解决了使用不存在的 bucket ID 创建 v1 授权(v1 auth)时出现的错误。

  • 在 _tasks bucket 中添加了字段,以匹配 InfluxDB Cloud 中同一 bucket 的架构——这为访问两者的客户端提供了一致性。

  • 修复了测量基数报告为负数的罕见情况。

  • 解决了清理失败的迭代器时发生的 panic。