apache / rocketmq

Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications.
https://rocketmq.apache.org/
Apache License 2.0
21.11k stars 11.63k forks source link

[Bug] When write some timer message, if the topic has been deleted, it is not processed at that time. Excess data is written #8537

Open leizhiyuan opened 1 month ago

leizhiyuan commented 1 month ago

Before Creating the Bug Report

Runtime platform environment

mac

RocketMQ version

develop

JDK Version

jdk8

Describe the Bug

When delaying the scrolling of the message, if the topic has been deleted, it is not processed at that time. Excess data is written

Steps to Reproduce

  1. write some timer messages
  2. delete the biz topic
  3. when timer message expired, will also write the consumequeue of biz topic

What Did You Expect to See?

3 will return error

What Did You See Instead?

will also write the consumequeue of biz topic

Additional Context

No response

leizhiyuan commented 1 month ago

maybe we can check topicConfigManager contains the real topic in org.apache.rocketmq.broker.util.HookUtils#checkBeforePutMessage