-
Couldn't load subscription status.
- Fork 12k
Description
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 20.04
RocketMQ version
develop
JDK Version
JDK 8
Describe the Bug
If the broker is overloaded or disk IO is busy, it will clean up some expired requests and return with SYSTEM_BUSY, at which point the producer will not retry to put the message into the broker. So I think PutMessageStatus is OS_PAGE_CACHE_BUSY should also return SYSTEM_BUSY.
Steps to Reproduce
- mock PutMessageStatus=OS_PAGE_CACHE_BUSY
- put the message into broker
- observe the number of produce retries
What Did You Expect to See?
The producer does not retry putting the message when the PutMessageStatus is OS_PAGE_CACHE_BUSY.
What Did You See Instead?
The producer retries putting the message when the PutMessageStatus is OS_PAGE_CACHE_BUSY.
Additional Context
No response