StarRocks用DataX进行数据采集会出现表权限丢失

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】利用DataX将hive数据同步至starrocks,由于是非分区表,会执行表原子替换操作,数据同步前账号本来有starrocks表权限,同步完成后,账号的表权限丢失,后面复测也验证了权限会丢失。


create table test.d_code_info_bak like test.d_code_info;
CREATE TABLE test.tmp_etl_tab_d_code_info LIKE test.d_code_info;
grant select_priv on test.d_code_info_bak to ‘test’@’%’;
‘test’@’%‘账号本来有表test.d_code_info_bak的查看权限,利用dataX 执行swap with进行表原子替换后,‘test’@’%'账号表test.d_code_info_bak的查看权限丢失
ALTER TABLE test.d_code_info_bak SWAP WITH test.tmp_etl_tab_d_code_info;
DROP TABLE IF EXISTS test.tmp_etl_tab_d_code_info;

【背景】3.2.3和3.2.10两个版本都有权限丢失问题,暂时只能通过整库授权来避免表权限丢失
【业务影响】账号要重复授权,不然没权限,生产环境权限丢失影响业务查看表。
【是否存算分离】
【StarRocks版本】3.2.3和3.2.10两个版本
【集群规模】例如:3fe(1 leader +2 follower)+5be(fe与be分开部署)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【表模型】明细模型
【导入或者导出方式】利用DataX将hive数据同步至starrocks
【联系方式】为了在解决问题过程中能及时联系到您获取一些日志信息,请补充下您的联系方式,例如:社区群4-小李或者邮箱,谢谢
【附件】

这是真的,哈哈,确实会。

真的好烦,之前用老版本 2.1.8 就没这问题,大佬知道有哪个 V3+ 修复了这个bug吗?

这个没有吧,目前我们遇到这种情况,是这样规避的
0.准备一个权限表,每天备份当天权限
1.用audit插件生成一个审计表,行为语句落表,
2.然后写个工具,每分钟编译一下前3分钟到当前的语句,看是否出现drop,rename,或者是swap
3.如果有,那么用正则把这条语句中的表名解析出来,根据表名去权限表里面匹配,看谁都对这个表有权限,如果有的话,那么重新赋权。
就是有点麻烦

好的,谢谢大佬分享,这样就是要不停遍历了。audit插件就是用的官网那个AuditLoader 插件吗?

是的,没错就是这玩意 https://docs.mirrorship.cn/zh/docs/3.2/administration/management/audit_loader/#验证安装并查询审计日志

也可以看下这个

好的好的,感谢分享,后续要是找到解决办法,咱们就更新在这个帖子下面吧 :sob: