[Bug] Bug title 延迟消息和定时消息都存在rmq_sys_wheel_timer,未向实际队列投递
- Dominant language
- Java
- Stars
- 22.6k
- Forks
- 12k
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 26
Description
### Before Creating the Bug Report
- [X] I found a bug, not just asking a question, which should be created in [GitHub Discussions](https://github.com/apache/rocketmq/discussions).
- [X] I have searched the [GitHub Issues](https://github.com/apache/rocketmq/issues) and [GitHub Discussions](https://github.com/apache/rocketmq/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
windows docker desktop
### RocketMQ version
rocketmq 5.2


rocketmq-spring-boot-starter 2.3.0
### JDK Version
jdk 21
### Describe the Bug
我在本地用docker启动的rocketmq,发送普通消息和消费是正常的,发送延迟消息成功但是无法消费,未向实际队列投递。
检查了rocketmq版本,docker时间 等因素,查阅各种资料均无解。
timerWheelEnable=true源码看了,也设置了。
队列是用mqadmin手动创建的,声明了DEALY
admin tool和console都没有工具能看到store里message的数据,如消息类型,投递时间之类的。
目前的表现就是只会存在rmq_sys_wheel_timer而不向实际的队列里投递。
(注:我只启动了nameser 和broker,没有单独启动proxy,新出来的东西描述太模糊了)
rocketmq启动命令
`docker run -d -p 9876:9876 --name rmqnamesrv --memory=512m -v "E:\Java\Program Files\Docker\namesrv\logs:/home/rocketmq/logs" -v "E:\Java\Program Files\Docker\namesrv\store:/home/rocketmq/store" -e TZ=Asia/Shanghai apache/rocketmq sh mqnamesrv`
`docker run -d -p 10911:10911 -p 10909:10909 --name rmqbroker-m1 -v "E:\Java\Program Files\Docker\broker\logs-m1:/home/rocketmq/logs" -v "E:\Java\Program Files\Docker\broker\store-m1:/home/rocketmq/store" -v "E:\Java\Program Files\Docker\conf\broker-m1.conf:/home/rocketmq/rocketmq-5.2.0/conf/broker.conf" --add-host namesrv:192.168.28.66 -e "NAMESRV_ADDR=namesrv:9876" -e TZ=Asia/Shanghai apache/rocketmq:latest sh mqbroker -n namesrv:9876 -c /home/rocketmq/rocketmq-5.2.0/conf/broker.conf autoCreateTopicEnable=true`
发送代码
rocketMQTemplate.syncSendDelayTimeSeconds("NewDelayTopic", person, 9);
响应
SendResult [sendStatus=SEND_OK, msgId=A9FEB4449C0C36BAF30C4C53AC680000, offsetMsgId=C0A81C4200002A9F000000000000B713, messageQueue=MessageQueue [topic=NewDelayTopic, brokerName=rcfeng-broker-m1, queueId=0], queueOffset=50]
控制台

store里有数据

### Steps to Reproduce
1
### What Did You Expect to See?
1
### What Did You See Instead?
1
### Additional Context
1
Contributor guide
Research direction
Reproduce with RocketMQ 5.2 using the broker.conf setting timerWheelEnable=true, the Docker commands, and rocketMQTemplate.syncSendDelayTimeSeconds("NewDelayTopic", person, 9). Inspect rmq_sys_wheel_timer and the broker store, then verify whether the delayed message reaches the actual topic queue and can be consumed. The issue provides no named test or source file, so start with the timer-wheel delivery path and broker logs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, java, spring-boot
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100