[Bug] Tiered storage cannot dispatch messages larger than the group commit size
- Dominant language
- Java
- Stars
- 22.6k
- Forks
- 12k
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 27
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
all
### RocketMQ version
all
### JDK Version
all
### Describe the Bug
- 调小group commit size,默认消息体上限为 4 MiB,可以调小到2MB
- 首条消息记录 size >= tieredStoreGroupCommitSize 时,dispatch 列表为空。
- commitAsync 不执行,Tiered CQ offset 不推进。
- 调度器不断重试相同 offset,阻塞后续归档。
### Steps to Reproduce
1. 调小group commit size到2MB
2. 发送单条消息大于2MB
3. 该topic的消息将会阻塞dispatch
### What Did You Expect to See?
消息不应该被阻塞上传
### What Did You See Instead?
消息阻塞上传
### Additional Context
_No response_
Contributor guide
Research direction
Start by reproducing the tiered-storage dispatch case with group commit size set to 2 MB and a message larger than 2 MB, then inspect the dispatch scheduler and commitAsync path described in the report. Done means the oversized message is uploaded without blocking dispatch, the Tiered CQ offset advances, and later messages are no longer held at the same offset.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100