### 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 centos7 ### RocketMQ version rocketmq-all-5.3.3 [Latest](https://github.com/apache/rocketmq/releases/latest) and develop ### JDK Version JDK 1.8 ### Describe the Bug <img width="2546" height="1294" alt="Image" src="https://github.com/user-attachments/assets/5e5d8d2c-96f0-4dd5-800d-2eb061a262d1" /> ### Steps to Reproduce 1. the last mappfile in the A consumequeue is empty (this is possible because of asynchronous refresh) 2. commitlog is configured with async-flush and sync-master, commitlog messages which build A consumequeue lost during restart 3. broker restart will not truncate(truncateDirtyLogicFiles) the last empty A consuequeue mappflile 4. correctMinOffset in recoverTopicQueueTable will throw IllegalArgumentException and restart failed ### What Did You Expect to See? An empty consumequeue will not cause broker restart failure ### What Did You See Instead? broker restart failure ### Additional Context _No response_