CrateDB 6.0.1 发布,分布式 SQL 数据库
CrateDB 是一个分布式的 SQL 数据库,使得实时存储和分析大量的机器数据变得简单。CrateDB 提供了通常与 NoSQL 数据库相关的可扩展性和灵活性,最小的 CrateDB 集群可以轻松地每秒摄取数万条记录。这些数据可以在整个集群中实时地、临时地、并行地进行查询。
CrateDB 6.0.1 现已正式发布,该版本更新内容如下:
- 修复了 5.10.11 中引入的回归问题,该问题导致生成的列或 DEFAULT子句无法在
UPDATE或INSERT INTO (..) ON CONFLICT语句上进行评估,从而导致文档包含空值。 -
修复了 PostgreSQL wire protocol 实现中可能导致其吞掉 outbound 消息的竞争条件。这会导致客户端行为不明确以及服务器内存泄漏。例如,JDBC 客户端有时会出现以下错误:
Received resultset tuples, but no field structure for them - 修复了在混合集群中运行时,由于主节点与副本节点版本差异(6.0.0 及早于 5.10.11 的版本),导致从主节点向副本分片复制
INSERT INTO或COPY FROM语句写入的新记录时,因缺少seqNo和primaryTerm信息而引发复制错误的问题。 - 修复了运行
DELETE查询时可能导致的NullPointerException问题。 - 修复了当通过 PostgreSQL 客户端执行
SELECT语句时,若该客户端在EXECUTE消息中设置了maxRow选项且其值与结果行数完全匹配,可能导致 SELECT 语句卡死的问题。 - 修复了 6.0.0 中引入的回归问题,该问题可能导致
INSERT INTO语句在网络分区期间卡住。 - 修复了滚动升级期间逻辑复制中间歇性订阅丢失的问题。
- 修复了阻止用户更改 indices.recovery.max_concurrent_file_chunks 设置的值的问题 。
- 修复了在多节点集群中内存压力下运行具有聚合的查询时可能导致的
OutOfMemoryError问题。 -
优化了在 window function 的
PARTITION BY子句中使用未包含在GROUP BY中的列时显示的错误信息,例如:SELECT sum(x) OVER(PARTITION BY x, y) FROM unnest([1], [6]) AS t (x, y) GROUP BY x - 修复了向具有非确定性子列的对象列插入
NULL时导致的NullPointerException问题。 - 修复了更新引用
PRIMARY KEY列的generated column时导致的IndexOutOfBoundsException问题。 - 修复了
FORCE_MERGE线程池的使用问题,以便在增加池大小时支持每个节点的并行分片操作。由于默认大小为1,此更改不会影响现有安装。
详情可查看更新说明。