从1.18.1升级到2.2.2,升级完整体的感觉就是查询变得很慢,出现了老版本不存在的各种问题,烦请官方的同学帮忙看一下是哪里不对,下面列出了新老版本配置不同的地方:
1.18.1的配置:
基础环境里没有关闭swap交换分区,overcommit_memory不是1,是默认配置,getenforce没有关等等。基本上这些系统环境配置没有做任何改动,老环境是以root用户安装的,3fe+8be(fe和be混布)。
2.2.2的配置:
做了操作手册上的各种关于系统环境的设置,关闭swapp,关闭getenforce等等,用户是starrocks,新集群做了fe和be分离部署,老集群有三台fe和be是混布的,3fe+8be。安装了一个第三方的审计日志插件,做了资源隔离,新增了一个udf,后面为了排查是不是这些导致查询缓慢又相继去除了。
两个环境相同的地方是:
fragment instance数量相同,exec_mem_limit相同,表结构和数据量相同。
下面是使用过程中的一些问题,有些是bug,也有人反馈过。其中:
第2,3,4,5是老版本中不存在的问题。
1. insert into带上limit插入条数不正确
2. 非master节点执行如:show frontends,drop table 等语句报错:connection reset或failed to get master cient。select没有问题
目前通过重启master节点解决此问题
https://github.com/StarRocks/starrocks/pull/5656
3. spark connector读取sr数据偶发报错:scala.MatchError: 3002 (of class java.lang.Integer)
https://github.com/StarRocks/starrocks/issues/8324
4. Total size of single column exceed the limit of hash join
2.3版本已经放开这个限制了,当前join加shuffle
5. Pattern length exceeds limit
正则过长报错:Pattern length exceeds limit
6. udf执行效率不高
7. 无法查看资源隔离具体情况
现在2.2.2最主要的问题是查询很慢,还请官方的同学提供一些思路支持下,谢谢