当前位置: 代码迷 >> 综合 >> Doris StreamLoad任务报错Connection reset
  详细解决方案

Doris StreamLoad任务报错Connection reset

热度:31   发布时间:2023-11-28 01:12:20.0

背景

Spark程序扫一张Hive表(大小3-7G),然后用http协议的streamLoad任务提交给Doris集群,在Doris集群从0.13.15升级到0.14.12后spark程序报错streamLoad时突然会Connection reset

分析

enable_http_server_v2
这个参数可以参考FE中文配置中查看到,作用是对于Doris界面是否开启新风格的界面,但是实际上他的作用远不止如此,请接着看

新老版本对于enable_http_server_v2参数默认值是不同的

在0.13.15中,默认值是false,即默认界面是老版本的风格,UI比较旧些。

0.14.12反之,默认值是true,即默认界面开启新风格新UI界面,但同时会有问题
看源码(PaloFe.java)分析http v2中并未对http上传的文件大小做limit限制,那么就会使用springBoot中默认的值去限定,则在外表象则会出现Connection reset的问题。

解决

方法一:关闭这个参数任务即可正常运行

方法二:我本来想对这个问题进行修复,看了社区发现在两天前刚刚merge了一个Doris-6013,正好是这个问题,需要进行打patch,但是注意这个PR有问题,单位写错了,需要结合Doris-6070一起打patch就能修复
这俩PR主要是在Doris新版本中对httpV2进行了两个参数的添加

spring.servlet.multipart.max-file-size=100M
spring.servlet.multipart.max-request-size=100MB
max-file-size 是单个文件大小
max-request-size 是设置总上传的数据大小

如果是想要不限制文件上传的大小,那么就把两个值都设置为-1,这个-1我没测试,不过应该是有作用的,后续我测试了后或者跟PR的提出者确定后,再评论此博客

重点补充

经测试发现,上述两个参数并无作用,参考社区Issue-6149
这个补丁打上才能修复此问题

  相关解决方案