hzh0425 commented on PR #4449: URL: https://github.com/apache/rocketmq/pull/4449#issuecomment-1152917799
问题场景: 网络分区下, master 与 slave, master 与 controller 都分区了, 但是没有和 client 分区. client 继续往 master 发送消息. 虽然在 allAckSyncStateSet = true 下, 不会发送成功, 但是这些消息仍然会被 reput by reputMessageService. 后续切换 master 的时候, 就会出现消息丢失的现象. 解决办法就是让 reputMessageService 利用 autoSwitchHaSerivce 中的 ConfirmOffset 作为 reput 边界, 这样当消息发送失败时 (allAckSyncStateSet = true), confirmOffset 不会增大, reputMessageService 就不会 reput 这些失败的消息. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
