routine load任务重启后数据丢失

为了更快的定位您的问题,请提供以下信息,谢谢
【使用版本】3.2.2-269e832
【详述】StarRocks表中有一字段长度小,导致routine load失败,修改长度后,resume routine load任务,但是中间丢失的数据没有办法重新导入了
通过 show routine load for 任务后
Statistic 中展示的信息是这样{“receivedBytes”:1111466,“errorRows”:111,“committedTaskNum”:1,“loadedRows”:402,“loadRowsRate”:0,“abortedTaskNum”:0,“totalRows”:513,“unselectedRows”:0,“receivedBytesRate”:1059000,“taskExecuteTimeMs”:1049}
请问下怎么配置能做到精准一次

@jingdan @trueeyu @dongquan 帮忙看看 谢谢

不会呀,resume只会从上一次失败的offset重新消费,除非你手动指定了offset或者kafka对应的offset被清理了

当前任务是pause的状态,progress里展示的offset就是kafka里最新的offset了
image

你是不是配置了max_filter_ratio,如果是的话,报错后还会继续往下消费对应的条数才会paused

image
image
就配置了这几个参数

看下show routine load的完整信息呢

另外你看的这个offset是kafka topic的offset还是sr这个group id对应的消费offset,两个都提供下?

是整个kafka最新的offset,另外我刚才加上了这个参数,“max_filter_ratio” = “0”,重新create routine load,这样一开始就失败了,progress里显示的offset并没有到最新,我理解这样的话数据就不会丢了。

还有一个问题是我看文档上显示的这个值默认就是0,不清楚为什么手动加上这个参数后处理的效果不一样,是默认值没有生效吗

啥意思,第一次创建的routine load max_filter_ratio不是0?

创建的时候我没有加这个参数,就导致任务虽然失败了,但是offset还是提交到了最新;
后来我加上这个参数,任务虽然失败,offset也没有提交

show routine load看下原来那个任务这个参数配置是多少

看着默认是变成1了

你好,昨天创建的routine load任务参数"max_filter_ratio" = “0”,,
执行show routine load显示"maxFilterRatio":“0.0”,
今天早上又执行命令显示"maxFilterRatio":“1.0”

这个参数什么情况下还会被修改呢

alter过routine load么?这个默认值是1

没有,都是重新创建的,只不过任务名没有变,都是沿用之前的任务名。

先是做了stop routine load,然后create routine load,在create的时候加了这个参数"max_filter_ratio" = “0”。

另外在stop之前没有加这个参数,跟这个任务名称有关系吗

新增一个任务,任务名是新的,配置max_filter_ratio参数后,过一会show routine load还会变成1

好的,我确认下这块的逻辑

好的,感谢

你好,这个有最新进展吗