Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] slave high CPU usage when enableScheduleAsyncDeliver=true #7261

Closed
3 tasks done
yuz10 opened this issue Aug 26, 2023 · 0 comments · Fixed by #7262
Closed
3 tasks done

[Bug] slave high CPU usage when enableScheduleAsyncDeliver=true #7261

yuz10 opened this issue Aug 26, 2023 · 0 comments · Fixed by #7262

Comments

@yuz10
Copy link
Member

yuz10 commented Aug 26, 2023

Before Creating the Bug Report

  • I found a bug, not just asking a question, which should be created in GitHub Discussions.

  • I have searched the GitHub Issues and GitHub Discussions of this repository and believe that this is not a duplicate.

  • I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.

Runtime platform environment

ubuntu

RocketMQ version

5.1.0

JDK Version

1.8.0

Describe the Bug

1、set enableScheduleAsyncDeliver=true
2、send some scheduled messages of each delay level.
3、pause master node for a while, the master will switch to slave. One way to pause is using remote debug.
4、after the master switch to slave, resume the slave, then CPU is high.

the stack is in:
ScheduleMessageService.java: 561

when master swith to slave, deliverExecutorService shuts down, this.future.thenAccept is not excuted, so the task is always RUNNING, causing endless loop in line 561 and line 569

Steps to Reproduce

1、set enableScheduleAsyncDeliver=true
2、send some scheduled messages of each delay level.
3、pause master node for a while, the master will switch to slave. One way to pause is using remote debug.
4、after the master switch to slave, resume the slave, then CPU is high.

What Did You Expect to See?

CPU is normal

What Did You See Instead?

CPU usage is high

Additional Context

No response

RongtongJin pushed a commit that referenced this issue Aug 29, 2023
…ue (#7262)

* [ISSUE #6390] Add break to the exception of WHEEL_TIMER_NOT_ENABLE.

* fix broker start fail if mapped file size is 0

* log

* only delete the last empty file

* change dataReadAheadEnable default to true

* fix endless loop when master change to slave.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant