StarRocks-2.2 Release Notes(最新版本:2.2.13,发布日期:2023年4月)

新功能

  • 【公测中】发布资源组管理功能。通过使用资源组来控制 CPU、内存的资源使用,让不同租户的大小查询在同一集群执行时,既能实现资源隔离,又能合理使用资源。相关文档,请参见资源组
  • 【公测中】实现 Java UDF 框架,支持使用 Java 语法编写 UDF(用户自定义函数),扩展 StarRocks 的函数功能。相关文档,请参见 Java UDF
  • 【公测中】导入数据至主键模型时,支持更新部分列。在订单更新、多流 JOIN 等实时数据更新场景下,仅需要更新与业务相关的列。相关文档,请参见 主键模型的表支持部分更新
  • 【公测中】支持 JSON 数据类型和函数。相关文档,请参见 JSON
  • 支持通过外表查询 Apache Hudi 的数据,进一步完善了数据湖分析的功能。相关文档,请参见 Apache Hudi 外表
  • 新增如下函数:

功能优化

  • 重构CBO优化器的 Parser 和 Analyzer,优化代码结构并支持 Insert with CTE 等语法。提升复杂查询的性能,包括公用表表达式(Common Table Expression,CTE)复用等。
  • 优化查询Apache Hive外表中基于对象存储(Amazon S3、阿里云OSS、腾讯云COS)的外部表的性能,优化后基于对象存储的查询性能可以与基于HDFS的查询性能基本持平。支持ORC格式文件的延迟物化,提升小文件查询性能。相关文档,请参见 Apache Hive 外表
  • 通过外表查询 Apache Hive 的数据时,缓存更新通过定期消费 Hive Metastore 的事件(包括数据变更、分区变更等),实现自动增量更新元数据。并且,还支持查询 Apache Hive 中 DECIMAL 和 ARRAY 类型的数据。相关文档,请参见 Apache Hive 外表
  • 优化 UNION ALL 算子性能,性能提升可达2-25倍。
  • 正式发布 Pipeline 引擎,支持自适应调节查询的并行度,并且优化了 Pipeline 引擎的 Profile。提升了高并发场景下小查询的性能。
  • 导入 CSV 文件时,支持使用多个字符作为行分隔符。

修复 Bug

  • 修复主键模型的表导入数据和 COMMIT 时产生死锁的问题。#4998
  • 解决 FE(包含 BDBJE)的一系列稳定性问题。#4428#4666#2
  • 修复 SUM 函数对大量数据求和时返回结果溢出的问题。#3944
  • 修复 ROUND 和 TRUNCATE 函数返回结果的精度问题。#4256
  • 修复 SQLancer 发现的一系列问题,请参见 SQLancer 相关 issues

其他

  • Flink 连接器 flink-connector-starrocks 支持 Flink 1.14 版本。

升级注意事项

  1. 版本号低于 2.0.4 或者 2.1.x 中低于 2.1.6 的用户,升级参考 StarRocks升级注意事项
  2. 升级后如果碰到问题需要回滚,请在fe.conf中增加 ignore_unknown_log_id=true, 因为新版本的元数据日志新增了类型,如果不加这个参数无法回滚。最好等做完 checkpoint 之后再设置 ignore_unknown_log_id=false,重启FE,恢复正常配置。
3赞

2.2.1 release notes

release date: 2022/6/1

Improvement

  1. 优化大量版本场景下的publish性能,通过重构部分热点、降低锁粒度提升性能、减少长尾 #6641
  2. 在FE的audit log中增加每个查询的CPU,内存的消耗信息 #6208 #6209
  3. Json 可以在primary/unique table中使用 #6544
  4. 优化大量BE节点场景下的report性能,通过降低锁粒度、请求去重,减少对FE的压力,解决大规模集群中Routine load 卡住的问题 #6293

Bugfix

修复了以下问题:

  1. show full tables from database 中解析转义符的问题 #6559
  2. 回滚Bdbje版本,避免FE磁盘容量增长过快的问题。#6708
  3. StarRocks On ES在doc-value-scan模式下(enable_docvalue_scan="true"时),文档缺失字段导致BE crash。 #6600
1赞

2.2.2 release notes

Release date: 2022/6/29

功能优化

  • 支持跨数据库使用 UDF 。 #6865 #7211

  • 优化表结构变更 (Schema Change) 等内部处理的并发控制,降低对 FE 元数据的压力,减少在高并发、大数据量导入场景下容易发生导入积压和变慢的问题。#6838

问题修复

修复了以下问题:

  • 执行 CTAS 时创建的新表副本数错误( replication_num )。#7036

  • 执行 ALTER ROUTINE LOAD 后可能造成元数据丢失。 #7068

  • Runtime filter 无法下推到窗口。 #7206 #7258

  • Pipeline 中潜在的内存泄漏问题。 #7295

  • 停止 Routine Load 任务可能导致死锁。#6849

  • 一些 profile 统计信息的修正。 #7074 #6789

  • get_json_string 函数对 JSON 数组处理错误。 #7671

2赞

2.2.3 release notes

Release date: 2022/7/25

问题修复

  • 修复一个资源组删除的错误 (#8036)

  • 修复在线程资源不足的情况下,导致thrift server退出的问题 (#7974

  • CBO在一些场景下 join reorder会无法输出结果的问题 (#7099 #7831 #6866

2.3预计什么时候发布

已经发布了,可以关注下

2.2.3版本jdbc连接对应驱动版本是多少

2.2.4 release notes

Release date: 2022/8/3

功能优化

  • Hive 外表支持 Schema Change 同步。#9010
  • Broker Load 支持导入 Parquet 文件中的 ARRAY 类型数据。#9131

问题修复

修复了如下 Bug:

  • 通过 Kerberos 认证使用 Broker Load 时无法使用多个 keytab 文件。#8820 #8837
  • 执行 stop_be.sh 后立刻退出进程,Supervisor 重新拉起服务可能失败。#9175
  • 错误的 Join Reorder 优先级导致 Join 字段报错 “Column cannot be resolved”。#9063 #9487

2.2.5 release notes

Release date: 2022/8/18

功能优化

  1. 优化 Pipeline引擎开启后的系统性能。 (#9580)
  2. 优化索引元数据的内存统计准确度。(#9837

问题修复

修复了以下问题:

  1. BE在执行 Routine Load 时可能在 get_partition_offset 时卡住。 (#9937)
  2. 不同集群使用 Broker Load 导入相同的 HDFS 文件导致出错。 (#9507)

2.2.6 release notes

Release date: 2022/9/14

问题修复

  • 修复外表查询中order by limit, offset时 offset不生效的问题(#9698
  • 修复 partial update 在大规模数据下的一个crash问题(#9809)
  • 修复当Bitmap超过2GB时,compaction会导致crash的问题(#11159)
  • 修复like/regexp函数中partern超过16k无法使用的问题(#10364)

行为调整

  • 修改array的结果展示形式,输出结果使用单引号而不是转义符 (#10790)

2.2.7 release notes

Release date: 2022/9/23

问题修复

修复了以下问题:

  • Routine load 导入jsoin到primary key中可能导致数据丢失 (#11054)
  • Show full table 的显示错误 (#11126
  • 视图权限问题,之前版本需要同时拥有base表和视图的权限才能访问视图的数据,修复后只需要拥有视图权限就可以访问 (#11290)
  • 复杂查询中一个exists/in 子查询的bug (#11415)
  • Refresh external table 在Hive中做过部分类型schema change以后会失败(#11406)
  • FE在回放创建bitmap索引操作时可能出错(#11406

2.2.8 release notes

Release date: 2022/10/17

问题修复

修复了以下问题:

  • 修复表达式在初始阶段发生错误时可能导致 BE 停止服务。 (#11395)
  • 导入时无效的Json可能会导致BE停止服务(#10804
  • 开启Pipeline引起会导致并行写入出错(#11451
  • Order by null limit 会导致BE停止服务(#11648
  • 外表类型和 parquet 中类型不一致时导致BE停止服务(#11839

2.2.9 release notes

Release date: 2022/11/8

功能优化

  • 增加参数 hive_partition_stats_sample_size ,限制获取统计信息的分区数防止FE获取元数据异常(#12700)
  • ES外表支持自定义时区(#12662)

问题修复

修复了以下问题:

  • 外表元数据同步问题导致decommission下线节点卡住(#12369)
  • 在做增加列操作时删除可能导致compaction crash(#12907)
  • Show create view 没有展示注释字段(#4163)
  • UDF中可能存在内存泄漏导致OOM的问题(#12418)

行为改变

  • Hive 外表字符串支持长度从64K,改为1MB,长度超过1MB时,查询设置成Null。 (#12986)

2.2.10 release notes

release date: 2022/12/1

功能优化

  • 优化routine load 错误提示信息(#12203)
  • 支持逻辑算子 && (#11819)
  • BE crash时,快速取消查询,避免长时间查询超时卡住(#12954
  • 优化FE启动脚本,检查JAVA版本(#14094
  • 支持Primary key中大批量删除(#4772

问题修复

修复了以下问题:

  • 新增列后删除数据可能导致compaction的时候crash(#12906)
  • 多个视图 union时,如果左深节点存在NULL常量,导致crash(#13792)
  • Parquet文件和Hive表类型不一致时导致crash(#8848)
  • 太多OR语句导致Planner过多递归引发查询超时(#12788)
  • 子查询中有limit可能导致结果错误的问题(#12466
  • 创建物化视图时语句中无法包含引号(#13102

2.2.12

问题修复

修复了以下问题:

  • 复杂多表关联场景中列引用的问题 (#14145)
  • 复杂谓词统计信息计算超时(#15174)
  • StarRocks外表无法在不同版本之间同步数据(#16130
  • Primary key频繁更新导致delvec GC占用过多CPU内存(#11513)
  • Percentile_cont 函数在 force_streaming 模式下导致BE crash(#15067)
  • Broker load太多导致tag失效引发Kerberos认证失败 (#16131)
  • 版本回收问题导致部分查询出错(#15654)

2.2.13

功能优化

  • 优化部分场景下 bitmap_contains 函数消耗大量内存和性能慢的问题。#20616
  • 减少 Compaction 框架对 CPU 资源的消耗。#11746

问题修复

修复了以下问题:

  • 提交 Stream Load 作业 时如果提供了错误的 URL 请求地址,导致 FE 内部卡住并且无法接收 HTTP 请求。#18468
  • FE 收集统计信息导致内存消耗过多,甚至可能发生 OOM。 #16331
  • 一些查询中内存释放处理有问题,导致 BE 崩溃。#11395
  • TRUNCATE TABLE 后可能发生空指针问题,导致 FE 无法重启。#16773
1赞