Open yx9o opened 4 weeks ago
Slave node synchronization is a scheduled task. There is a time interval for synchronization. There may be some cases where there is no synchronization, but it should not affect
Slave node synchronization is a scheduled task. There is a time interval for synchronization. There may be some cases where there is no synchronization, but it should not affect
Those two tables are not in the synchronization task.
offsetTable is in scheduled task, see syncAll()
, lmqOffsetTable is not in scheduled task. lmqOffsetTable synchronization should fix in ISSUE #8509
What has been synchronized is the consumption progress. The problem I am describing here is the offset returned when sending a message. These are two different things.
Sorry, it's my fault.In this case, it seems that the data from the master node has not been synchronized to slave successfully, otherwise the offset should be continuous.
If you are interested, you can test it and you will understand.
Can you post the detailed master-slave switching process and logs?
Before Creating the Bug Report
[X] I found a bug, not just asking a question, which should be created in GitHub Discussions.
[X] I have searched the GitHub Issues and GitHub Discussions of this repository and believe that this is not a duplicate.
[X] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.
Runtime platform environment
Linux
RocketMQ version
4.9.8
JDK Version
jdk 1.8
Describe the Bug
I want to implement master-slave switching through commands. After the master stops, I change the slave configuration to master. The offset produced is not continuous, which means that the data during the period of catching up with the consumption progress cannot be consumed.
Steps to Reproduce
What Did You Expect to See?
After the slave node switches to the master, the offset produced is continuous.
What Did You See Instead?
The offset produced is not continuous.
Additional Context
No response