btccom / btcpool-ABANDONED

backend of pool.btc.com
https://pool.btc.com
MIT License
644 stars 408 forks source link

[Bug] BTC/LTC/ZEC jobmaker 重启后可能长时间未就绪 | 关于代码中btc Kafka消费偏移量的疑问 #450

Open rocqina opened 4 years ago

rocqina commented 4 years ago

请教一个问题

https://github.com/btccom/btcpool/blob/75e57300ed9486ea1889e7bece18efd523233b2f/src/bitcoin/JobMakerBitcoin.cc#L105

为什么设置偏移量是1,每次jobmaker重启的时候从位置1开始读取,导致了大量的无效gbt被消费。

如果设置成-1,每次读取最新的消息,为什么不这样做

YihaoPeng commented 4 years ago

应该是写错了,我会改成 RD_KAFKA_OFFSET_TAIL(1)

YihaoPeng commented 4 years ago

已经尝试在 https://github.com/btccom/btcpool/commit/f312ceb304caeae40cb94b6932b5216375e748bd 中修复

YihaoPeng commented 4 years ago

如果采用受影响的版本,jobmaker重启的时候应该需要很多时间。

受影响的版本:从 2019-07-17( 34094cb9e04608b0d39c0a2f33b5f9f207ffd5d1 )至今。

偏移1应该会导致重头消费所有相关topic,导致 jobmaker 重启后需要大量时间才能开始发送新任务。 所以要注意,如果需要重启 jobmaker,应该注意它是否发送 job。如果发送不及时,应该升级到修复该问题的版本。