异步发送并记录错误信息,疑问?
mujianping opened this issue · comments
您好com.didichuxing.datachannel.agent.sink.kafkaSink.KafkaSink#copyFailedOffset和com.didichuxing.datachannel.agent.sink.kafkaSink.KafkaSink#appendFaildOffset是否应该用同一把锁,copyFailedOffset在并发情况下,会不会出现丢失一部分异步发送失败的回调信息,导致重放偏移量不准
不会.
kafka sink在刷新的时候,执行到copyFailedOffset方法的failedRateMapS0.clear()时候,有kafka的异步失败消息往s0 put,这时候clear,s1就没有最新的失败消息
还有个问题是,异步的时候如果agent挂掉,那么kafka异步错误信息是不也相当于没有收到,没有回滚,导致丢数据
第一次学习这个项目,往大佬不吝赐教
@huqidong 感谢大佬