6U-U9 commented on PR #4428: URL: https://github.com/apache/rocketmq/pull/4428#issuecomment-1150619769
> It's a bit puzzling to process message escape when processing messages that should be discarded. Hopefully you could provide more details about your design. Actually it's like the remote message escape mechanism. When discarding messages, Rocket MQ puts messages into **RMQ_SYS_TRANS_CHECK_MAX_TIME_TOPIC**, which is a not allowed to send topic in topic validator. For the remote escape of these messages, first wrap them in their origin topic with **transaction check time**, and send it to other master broker. As messages bring **PROPERTY_TRANSACTION_CHECK_TIMES** with them, master broker received these message first put them into half topic queue and discard them in next check. 应丢弃的消息逃逸机制和正常消息的逃逸机制相似。为了避免**RMQ_SYS_TRANS_CHECK_MAX_TIME_TOPIC**远程不可写的限制,首先将半消息用原Topic包装,此时消息仍携带**PROPERTY_TRANSACTION_CHECK_TIMES**属性,然后再投递到远程主节点上。收到消息的主节点将消息放入半消息队列**RMQ_SYS_TRANS_HALF_TOPIC**等待检查,在下一次检查中,将消息丢弃。 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
