Flume OG Bug 引发大量重复数据

环境:

agent:            default-flow tail("/storage/log/pcclient/action/action1x/action1x.log")       agentDFOSink("collector-host", 35853)

collector:       default-flow collectorSource(35853)     collectorSink("file:///home/flume/collected/accesslog/%Y%m%d/%H00", "%{host}-", 3600000, raw()) 


故障现象:

在某几个小时里面出现了大量的重复日志,导致收集的Collector收集的数据非常大(飘红的部分)。

568M 1100
567M 1200
575M 1300
572M 1400
571M 1500
2.6G 1600
839M 1700
579M 1800
1.6G 1900
1021M 2000
844M 2100
2.4G 2200
881M 2300


故障定位:

Flume OG 的文档出奇的少,除了官网上的那个UserGuide,只能翻出source code来定位了... 最终发现是因为32KB限制的原因,如果某一行数据超过32KB就会触发这个Bug,导致TailSource误认为文件被Rolling了,然后不段重复的读取数据并发送,直到下一个小时日志文件真正被rolling的时候才恢复正常。其实网官上也提到了一个Event不能超过32KB,但是代码中就是没有对这个进行特殊处理,也没有错误日志,真弄不太明白为什么写出这种代码。而且想提个patch都找不到门...只能把希望寄托在Flume NG上,感兴趣的同学可以参与到Flume NG这个项目。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值