
本文汇总了数据库、大数据、运维领域近一个月的软件更新信息,包括:Elasticsearch、Redis、RocksDB、SQLite、CrateDB、Logstash、Grafana,供大家参考,紧跟最新技术发展趋势。
Elasticsearch 发布多个版本
2022 年 3 月,Elasticsearch 连续发布了多个版本,主要版本信息如下:
功能改进:
弃用驼峰格式的日期信息 API
在受限名称中使用相同的系统索引模式
更新 YAML REST 测试,以检查所有响应中的产品标头
根据外部设置调整 indices.recovery.max_bytes_per_sec
弃用 API 中的 Surface 脚本弃用警告
Bug 修复:
向后兼容版本 7.17.0
修复数据流的自动缩放
正确处理具有 500 个或更多实例的大型 GCE 区域
如果它无法计算签名区域,则 GeometryNormalizer 不应失败
不允许 ILM 中的负年龄解释
升级:
将矢量切片 google protobuf 更新为 3.16.1
捆绑的 JDK 升级到 17.0.2+8
Elasticsearch 8.0.1 是 8.0 的维护版本。
Bug修复:
1、聚合
修复与 7.17.0 的向后兼容性
2、分布式
正确处理具有 500 个或更多实例的大型区域
3、工业光模+SLM
不允许在解释生命周期 API 响应中出现负年龄 (negative age)
4、基础设施/核心
遇到错误的功能迁移时,始终重新运行
复制 trace.id 到 threadcontext stash
在 ResultDeduplicator 中保留上下文
注册命名为 XContent 对象的 SystemIndexMigrationTask
如果 _meta 为空 ,则更新系统索引映射
5、Ingest
修复 GeoIpDownloader 滚动升级期间的启动问题
修复首次匹配后的短路 date 模式
6、机器学习
在迁移过程中重试异常检测任务恢复
7、监控
将 kibana_stats 版本别名添加到 monitoring-kibana-mb 模板
8、打包
添加 log4j-slf4j-impl 到 repository-azure
postinst 中的密钥库升级后重启 ES
9、恢复
将缺失的 indices.recovery.internal_action_retry_timeout 添加到设置列表
10、SQL
修复空结果集的 txt 格式
11、搜索
避免在获取阶段急过急地加载 StoredFieldsReader
当没有索引匹配时,返回有效的 PIT
12、安全
将 jANSI 依赖项升级到 2.4.0
13、Snapshot/Restore
将获取快照序列化移动到管理池
snapshotDeletionListeners 中保留上下文
14、转变
修复停止转换处理存储桶的条件
15、Watcher
容忍 Watch 定义中的空类型数组
增强功能:
1、基础设施/REST API
更新 YAML REST 测试,以检查所有响应中的产品标头
2、恢复
根据外部设置调整 indices.recovery.max_bytes_per_sec
升级:
1、Geo
将矢量切片 google protobuf 更新为 3.16.1
2、包装
捆绑的 JDK 升级到 17.0.2+8
已知问题:
在 8.1 中,当 xpack.security.audit.logfile.events.emit_request_body 集群设置为 true 时,一个错误(#84784)会导致使用过滤字段的 API 返回一个带有 401 HTTP 状态码的 null_pointer_exception 错误
重要变化:
1、Geo
Fields API 应返回规范化的几何图形
错误修复:
1、Aggregations
重新启用 BooleanTermsIT
向后兼容 7.17.0 版本
将浮点数和半浮点数减少到其存储的精度
2、Allocation
修复 updateMinNode 条件
使 *.routing.allocation.* 成为基于列表的设置
允许在 flood-stage-blocked 索引上进行元数据更新
集群恢复后重新路由
3、Authorization
创建 API 密钥时捕获匿名角色
扩展 fleet-server 服务账户的权限
4、Distributed
[GCE Discovery] 正确处理具有 500 个或更多实例的大型区域
5、Engine
当分片失败时分叉到 WRITE 线程
6、ILM+SLM
修复 PolicyStepsRegistry 的 cachedSteps null 处理
更多详情可查看:https://www.elastic.co/guide/en/elasticsearch/reference/8.1/es-release-notes.html
Redis 发布 7.0-rc2
2022 年 2 月 28 日,Redis 发布了 7.0-rc2 版本,具体更新内容如下:
新特性:
添加 stream 消费者组滞后跟踪和报告
为函数和评估 Lua 脚本添加 API 以明确检查 ACL
新的用户命令或命令参数:
COMMAND GETKEYSANDFLAGS 子命令
INFO 命令可以采用多个部分参数
XGROUP CREATE 和 SETID:新的 ENTRIESREAD 可选参数
XSETID 新的 ENTRIESADDED 和 MAXDELETEDID 可选参数
已扩展的 Command replies:
XINFO 报告消费者组滞后和其他一些字段
XAUTOCLAIM 返回一个带有删除 ID 列表的新元素
性能和资源利用改进:
减少客户端回复的系统调用和小数据包
减少陈旧客户端的内存使用量
修复 Redis 6.2 中引入的 Z[REV]RANGE 命令(按等级)中的回归
Bug 修复:
Modules:修复模块线程添加错误回复时的线程安全违规
Lua:修复 Eval scripts active defrag
修复地理搜索边界框检查导致丢失结果
Lua:在评估 Lua 脚本和函数时添加对 min-slave-* 配置的检查
Modules:在具有挂起计时器的模块上使用 MODULE UNLOAD 时防止崩溃和内存泄漏
修复被阻止客户端的错误统计信息和失败的命令统计信息
Lua/Modules:修复脚本和模块的缺失和重复错误统计信息
在集群 setslot 期间检查目标节点是否为主节点
Sentinel:如果配置保存失败返回错误
更多详情可查看:https://github.com/redis/redis/releases/tag/7.0-rc2
RocksDB 发布多个版本
2022 年 3 月,RocksDB 连续发布了多个版本,其中更新较多的版本信息如下:
Bug修复:
修复了当启用 memtable Bloom 过滤器 (memtable_prefix_bloom_size_ratio > 0) 时,批量 MultiGet 可能返回由 DeleteRange 删除的键的旧值的主要错误
修复了更多 EventListener::OnTableFileCreated 调用的情况,状态为 OK,file_size==0,且没有保留 SST 文件
修复了DB::GetMergeOperands().
修复并发事务提交和 memtable 切换导致的 2PC 写提交事务的数据丢失问题
修复了 NUM_INDEX_AND_FILTER_BLOCKS_READ_PER_LEVEL、NUM_DATA_BLOCKS_READ_PER_LEVEL 和 NUM_SST_READ_PER_LEVEL 统计信息,每个级别的每个 MultiGet 批次报告一次
性能改进:
减少了构建在线 LSM 树一致性检查所使用的文件位置哈希表的开销,这可以提高某些工作负载的性能
切换到使用排序std::vector而不是std::map存储 blob 文件的元数据对象,可以提高某些工作负载的性能,尤其是当 blob 文件的数量很大时
DisableManualCompaction() 不必等待计划的手动压缩在线程池中执行以取消作业
行为改变:
禁止 DBOptions.use_direct_io_for_flush_and_compaction == true 和 DBOptions.writable_file_max_buffer_size == 0 的组合,这种组合会导致 WritableFileWriter::Append() 永远循环,在直接 IO 中没有多大意义
ReadOptions::total_order_seek不再影响 DB::Get(),这种交互已经过时,因为 RocksDB 已经能够检测当前的前缀提取器是否与用于生成表文件的前缀提取器兼容
新特性:
引入了BlockBasedTableOptions::detect_filter_construct_corruption在 Bloom Filter (format_version >= 5) 和 Ribbon Filter 构建期间检测损坏的选项
改进了 SstDumpTool 以从表属性中读取比较器,并使用它来读取 SST 文件
扩展了信息日志中的列族统计信息,还会记录 blob 文件中的垃圾总量和 blob 文件空间放大系数,还通过rocksdb.blob-stats DB 属性公开了 blob 文件空间放大器
在 ch 中引入 APIrocksdb_create_dir_if_missing,调用底层文件系统的 CreateDirIfMissing API 来创建目录
添加了最后一级和非最后一级读取统计信息:LAST_LEVEL_READ_* 、 NON_LAST_LEVEL_READ_*
实验性:在 FSRandomAccessFile 中添加对新 API ReadAsync 的支持,以异步读取数据,并在 FileSystem 中添加 Poll API 以检查请求的读取请求是否已完成。ReadAsync 采用回调函数。轮询 API 检查读取 IO 请求的完成情况,并应调用回调函数来指示读取请求的完成
Bug 修复:
修复使用 DisableManualCompaction 取消手动压缩时的竞争条件,DB close 也可以取消手动压缩线程
修复了 DBImpl::ResumeImpl() 和等待恢复完成的线程之间的 versions_ 数据竞争
修复了由刷新、传入写入和拍摄快照之间的竞争导致的错误,对使用这些竞争条件创建的快照查询可能会返回不正确的结果,例如重新显示已删除的数据
Bug 修复:
修复了一个重大的性能错误,由于在 #9590 中对 FilterPolicy::Name() 的更改,早期 7.0.x 版本无法读取 7.0 之前的版本生成的 Bloom 过滤器(反之亦然)。这会严重影响现有数据库升级或降级时的读取性能和读取 I/O,但不会影响数据正确性
修复了Iterator::Refresh()在执行 DeleteRange() 后读取 stale keys 的错误
Public API changes:
添加了纯虚拟 FilterPolicy::CompatibilityName(),这是修复涉及 SST 元数据中 FilterPolicy 命名的主要性能错误所需要的,而不影响 FilterPolicy 的 Customizable 方面。对于源代码来说,这一变化只影响到那些拥有自己的自定义或包装 FilterPolicy 类的用户,但在补丁版本中确实破坏了编译库的二进制兼容性
从 RocksDB 7 开始,RocksJava 现在需要 Java 8(以前是 Java 7)
Bug 修复:
修复了禁用和重新启用 manual compaction 时的 race condition
修复了非双写队列模式下alive_log_files_的 race condition。该 race 在 WriteToWAL() 中的 write_thread_ 和另一个正在执行FindObsoleteFiles()的线程之间进行。如果启用__glibcxx_requires_nonempty,将捕获 race condition
修复了在 POSIX 上映射 WritableFile 时的 race condition
修复了禁用 2PC 并启用 MANIFEST 中的 WAL 跟踪时的一个 race condition。该 race condition 发生在试图安装刷新结果的两个后台刷新线程之间,导致未在 MANIFEST 中跟踪 WAL 删除。未来的 DB 打开可能会失败
修复了 DropColumnFamily 的 heap use-after-free race
修复了rocksdb.read.block.compaction.micros无法跟踪 compaction stats 的错误
更多详情可查看:https://github.com/facebook/rocksdb/releases
SQLite 发布两个版本
2022 年 3 月,SQLite 发布了两个小版本,更新内容如下:
修复了新的 Bloom 过滤器优化的问题,该问题可能会导致一些模糊的查询得到不正确的答案
修复日期和时间函数的 localtime 修饰符,以便它保留小数秒
修正 sqlite_offset SQL 函数,使其即使在极端情况下也能正确工作
修复了虚拟表的行值 IN 运算符约束,这样即使虚拟表的实现依赖于字节码来过滤不满足约束的行,它们也能正确工作
对 assert() 语句、测试用例和文档进行了小的修复
修复了另一个用户所发现的新 Bloom 过滤器优化问题
不允许在 assert() 中使用 #ifdef
强化 unix 和 Windows VFSes 的 xShmLock 方法,使其在 SHM 文件未打开时不会被调用
在 btree 模块的 sqlite3BtreeInsert() 函数中加强对损坏的数据库的保护
修复 zipfile 扩展,使其知道零长度的 BLOB 返回一个 NULL 指针
运行 sqlite3_declare_vtab() 时禁用触发器编码
更多详情可查看:https://sqlite.org/changes.html
CrateDB 发布 4.7.1
2022 年 3 月 11 日,分布式 SQL 数据库 CrateDB 正式发布 4.7.1 版本,该版本更新内容如下:
修复:
修复了来自COPY FROM的一个问题,该问题导致表的默认表达式仅计算一次,从而导致整个表使用一个单一的值而不是每一行。这仅影响 non-deterministic 函数,例如,gen_random_text_uuid()、random()等
修复了从 CrateDB 版本 < 4.0 读取 translog 文件时可能导致错误的问题
修复了在使用引用多个其他关系的连接条件时可能导致Couldn't create execution plan的错误问题
修复了当在文件系统中不存在父目录的 globbed URI 下执行COPY FROM时导致 NPE 的问题
修复了在CREATE VIEW语句的查询部分使用标量子查询时,会导致在CREATE VIEW中使用Invalid query错误
修复了在上层查询中未使用分区上的 window function 时导致失败的问题。例如:select x from (select x, ROW_NUMBER() OVER (PARTITION BY y) from t) t1
修复了导致错误结果集的显式转换参数的比较函数参数的不正确优化。例如:`WHERE strCol::bigint > 3`
将捆绑的 JDK 更新为 17.0.2+8
更多详情可查看:https://github.com/crate/crate/releases/tag/4.7.1
Logstash 发布 8.1.1
2022 年 3 月,Logstash 发布了 8.1.1 版本,带来如下变更:
修复:
bin/logstash-plugin uninstall <plugin> 命令按预期运行,可成功卸载指定插件
Logstash CLI 工具现在可以在 Windows 上使用选定的 JDK
Logstash 可以成功定位到 Windows JVM,即使路径中包含空格
GeoIP 数据库查找现在将正常使用 http_proxy 环境变量定义的代理
依赖项升级:
捆绑的 JDK 版本更新为 11.0.14.1+1
除此之外,该版本还包含一些插件问题修复,详情可查看:https://www.elastic.co/guide/en/logstash/8.1/logstash-8-1-1.html#_plugins
Grafana 发布 8.4.4
2022 年 3 月 16 日,Grafana 8.4.4 正式发布,更新内容如下:
功能和改进:
Loki:将 unpack 添加到自动完成建议
Plugins:允许将函数和类组件用于应用程序插件
TimeSeries:为图形面板的 transform series override 添加迁移
TimeSeries:在进行负 Y 转换时保留空值/未定义值
Bug 修复:
CloudWatch:使用 aws-sdk-go 的默认 http 客户端
Dashboards:修复了按行重复且不刷新的问题
Gauge:当数据链接存在且方向为水平时修复了 blank viz
Search:使用 postgres 时正确排序结果
TagsInput:修复标签删除按钮的可访问性问题
TextPanel:在 markdown 被渲染成 html 后进行清理
更多详情可查看:https://github.com/grafana/grafana/releases/tag/v8.4.4
来源丨OSCHINA官网
https://www.oschina.net/news/184663/elasticsearch-7-17-1-released
https://www.oschina.net/news/184800/elasticsearch-8-0-1-released
https://www.oschina.net/news/186203/elasticsearch-8-1-released
https://www.oschina.net/news/184662/redis-7-0-rc2-released
https://www.oschina.net/news/186502/rocksdb-7-0-0-released
https://www.oschina.net/news/188707/rocksdb-7-0-3-released
https://www.oschina.net/news/189031/rocksdb-7-0-4-released
https://www.oschina.net/news/186329/sqlite-3-38-1-released
https://www.oschina.net/news/188547/sqlite-3-38-2-released
https://www.oschina.net/news/186843/cratedb-4-7-1-released
https://www.oschina.net/news/187963/logstash-8-1-1-released
https://www.oschina.net/news/187289/grafana-8-4-4-released
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn






