qiniu/logkit

kafka sender bug: FtSender 导致误报err

Closed this issue · 4 comments

zh-jn commented

Bug Report

logkit 相关配置:

{
"max_procs": 1,
"debug_level": 1,
"clean_self_log":true,
"bind_host":":3000",
"profile_host":":3002",
"disable_web":false,
"static_root_path":"./public",
"confs_path": ["confs*"]
}

运行环境:

centos 7.2

logkit 版本:

logkit_v1.5.3

操作系统版本:

centos 7.2

复现过程操作步骤:

  1. 配置发送kafka
  2. 配置文件中不添加:"fault_tolerant": "false", 在实例化sender的时候会默认包装为ftsender
  3. 使用ftsender发送数据会导致前端”发送成功/总 (条数)“中”发送成功“一直为0,但是后端kafka确实收到了数据。
  4. 日志中会打印出类似:-2018/10/29 11:38:02 [ERROR][github.com/qiniu/logkit/sender] fault_tolerant.go:473: Runner[test] Sender[kafkaSender:(kafkaUrl:[],topic:[])] cannot write points: success 527 errors 0 last error , send error detail , failDatas size: 527, error type is not *SendError! reSend all datas by default

预期表现:

”发送成功/总 (条数)“中”发送成功“为后端kafka收到的数据条数

实际情况:

使用ftsender发送数据会导致前端”发送成功/总 (条数)“中”发送成功“一直为0,但是后端kafka确实收到了数据。

相关日志等其他信息:

-2018/10/29 11:38:02 [ERROR][github.com/qiniu/logkit/sender] fault_tolerant.go:473: Runner[test] Sender[kafkaSender:(kafkaUrl:[],topic:[])] cannot write points: success 527 errors 0 last error , send error detail , failDatas size: 527, error type is not *SendError! reSend all datas by default

初步判断:

func (ft *FtSender) handleStat(err error, isRetry bool, dataLen int64) error
中的逻辑有误?

多谢反馈! ping @redHJ

是自己用最新代码编的包吗? @williamjnzhang

zh-jn commented

是的,最新的github代码。
你那边不能复现吗?

redHJ commented

修复:#802