StreamLoad导入报错

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】StreamLoad导入报错
【背景】 使用http://fe_ip:8030/api/db/table/_stream_load导入报错statusCode=400 load result=Bad Request.
text is empty (possibly HTTP/0.9)
【业务影响】导入失败
【是否存算分离】否
【StarRocks版本】v3.1.5
【集群规模】3fe(1 follower+2observer)+5be
【机器信息】256G/48c
【表模型】明细模型
【导入或者导出方式】StreamLoad

【附件】

  • fe.log/be.INFO/相应截图
  • 完整的报错异常栈

@trueeyu 大佬 这个报错有遇到过么

Http Body是空啊,估计是你发起的StreamLoad有问题。怎么发起的?

stream load通过fe端口导入大概率失败,通过be端口导入成功 具体报错和这个topic信息一样,您继续这个看下呢。

那FE日志发下

发Http的时候指定下Http版本试试

从这个topic stream load通过fe端口导入大概率失败,通过be端口导入成功 里说的,每次调用时都新创建httpClient就不会有问题,复用httpClient就会报错,刚测试了下确实是这样。您看继续这个帖子说吧,上边有个不知是不是研发同学的反馈说可能是【httpClient里有redirect时, 复用tcp连接, 有可能数据没有正常清理干净】

你是用的Curl还是其它HttpClient

用的是HttpClient。这有个示例代码,在github java streamLoad示例代码上将HttpClient复用了,就能复现这个问题,您那边可以复现下StarRocksStreamLoad.java (6.3 KB)

好的,我复现下

麻烦问下 这个问题有什么解决方案了么?

是FE处理100-Continue的问题. 等后续修复.

通过提供的StarRocksStreamLoad.java, 可以复现问题.