【已解决】Doris2.1.3查询非默认资源组副本数据,为什么有时查不出来,有时能查出来?

Viewed 58

Doris2.1.3版本
两个Resource Group,表ad_fission.solib_upgrade_report两副本,每个资源组中有一个副本;
changguowei用户有ad_group资源组权限;
liwenhan用户有default资源组权限;
使用changguowei用户查询ad_group资源组中副本数据时,多次查询,有时查询一直卡着不动,有时能查出来;
使用liwenhan用户查询default资源组中副本数据时,能够正常查询

查看资源组

image.png

changguowei用户查询

image.png

liwenhan用户查询

image.png

1 Answers

首先我这边尝试复现你的问题,没有复现。

测试版本是2.1.3的rc9,2be,1fe,两个be一个是default分组,一个是分组名为group_a
测试数据集为tpch 1g,表为tpch.lineitem,表为2副本,一个副本分组是default,另一个是group_a。
导入和查询都尝试新建一个普通用户,拥有建表,导入和查询的完整权限,尝试修改这个user的resource_tags属性分别为group_a和default,查询都是正常的,没有出现卡顿的情况。

所以接下来有两个思路可以尝试:

  1. 你试下我这个测试方法,看下是否会卡住,如果不会的话,那问题应该出在数据本身,比如是否是doris内表或者外表,表的数据量等。如果会的话,可能得详细对下和我这边操作细节的区别。
  2. 直接定位目前卡住的原因,首先打开profile,运行查询,当查询卡住的时候,去页面行可以拿到查询的queryid,然后拿着这个query_id去所有be日志里grep下,如果有'use workload group'字样,说明查询已经到了be,但是未看到deconstructed的字样,这说明应该是卡在be了,此时可以拿到pstack信息,或者使用perf top -p 进程号或者top -H -p看下目前的doris进程主要在做什么,从而确定执行卡住的位置