StarRocks导出数据数据运行过程中中断

【详述】通过ETL工具将StarRocks数据导入关系型数据库,运行过程中报错Couldn’t get row from result set
【背景】通过ETL工具将StarRocks数据导入关系型数据库
【业务影响】
【StarRocks版本】3.0.7
【集群规模】3fe(3 follower)+4be(fe与be分开部署)
【机器信息】54G/万兆
现象:


查看FE日志:




BE日志:

修改会话参数pipeline_dop=2。还是报错

使用的什么ETL工具?通过什么方式从StarRocks读取数据的?ETL工具的日志里有StarRocks返回的报错信息吗

Kettle,通过select 语句查询导出,报错信息就是上面现象中的错误

select语句可以发下吗

SELECT
/*+ SET_VAR(query_timeout = 28800,pipeline_dop=2) */
xxx, xxx, … 50个字段
FROM xxxx
where LastTime <DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 30 DAY),’%Y%m%d’)

LastTime字段上有过滤的优化吗?或者你不用ETL工具,就直接拿这条sql,看看能查询出来吗?目前看状态应该是查询性能不太行

直接查很快,2000多万数据,3分钟就查询出来

应该是内部缓存到BE节点了,Kettle慢慢拉取,拉取过程中报错,就是我截图的那些错误

查看FE审计日志,其实查询早就结束了,用了三分钟,但是etl用了一个多小时,后面就报报错

正常查询的时候,pipeline_dop也是2吗

pipeline_dop=0,后来加的2,现在无论是几都会报错

先重启下BE,这个brpc overflow 应该是传输了超大的包导致的

这个brpc overflow你们是怎么复现的

怎么找到具体传的是什么呢?这是个bug吗?

不用复现啊,现在导出数据就报这个错误

只要是导出就会报这个问题吗?

小数据量的可以,大数据量的不行

select max(length()) from xxx; 把各个字段长度获取下?

看数据量,一千万应该没有问题,再多了就用风险

整个表大概2G,45个字段