This is an automated email from the ASF dual-hosted git repository.
lizhimin pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push:
new ec7db8dc79 [ISSUE #10082] Missing PROPERTY_TIMER_DELAY_MS property
check in delay message type validation (#10084)
ec7db8dc79 is described below
commit ec7db8dc7915c54364950303ff6c66df99f5ea7c
Author: dingshuangxi888 <[email protected]>
AuthorDate: Tue Feb 10 13:48:45 2026 +0800
[ISSUE #10082] Missing PROPERTY_TIMER_DELAY_MS property check in delay
message type validation (#10084)
---
.../proxy/grpc/v2/common/GrpcConverter.java | 38 +++++++++++++---------
1 file changed, 23 insertions(+), 15 deletions(-)
diff --git
a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcConverter.java
b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcConverter.java
index 04dab917ea..87d20ebca1 100644
---
a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcConverter.java
+++
b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcConverter.java
@@ -36,6 +36,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.apache.commons.lang3.StringUtils;
+import org.apache.rocketmq.common.attribute.TopicMessageType;
import org.apache.rocketmq.common.constant.LoggerName;
import org.apache.rocketmq.common.filter.ExpressionType;
import org.apache.rocketmq.common.message.MessageConst;
@@ -160,21 +161,8 @@ public class GrpcConverter {
}
// message_type
- String isTrans =
messageExt.getProperty(MessageConst.PROPERTY_TRANSACTION_PREPARED);
- String isTransValue = "true";
- if (isTransValue.equals(isTrans)) {
- systemPropertiesBuilder.setMessageType(MessageType.TRANSACTION);
- } else if
(messageExt.getProperty(MessageConst.PROPERTY_DELAY_TIME_LEVEL) != null
- || messageExt.getProperty(MessageConst.PROPERTY_TIMER_DELIVER_MS)
!= null
- || messageExt.getProperty(MessageConst.PROPERTY_TIMER_DELAY_SEC)
!= null) {
- systemPropertiesBuilder.setMessageType(MessageType.DELAY);
- } else if (messageExt.getProperty(MessageConst.PROPERTY_SHARDING_KEY)
!= null) {
- systemPropertiesBuilder.setMessageType(MessageType.FIFO);
- } else if (messageExt.getProperty(MessageConst.PROPERTY_LITE_TOPIC) !=
null) {
- systemPropertiesBuilder.setMessageType(MessageType.LITE);
- } else {
- systemPropertiesBuilder.setMessageType(MessageType.NORMAL);
- }
+ TopicMessageType topicMessageType =
TopicMessageType.parseFromMessageProperty(messageExt.getProperties());
+
systemPropertiesBuilder.setMessageType(convertToGrpcMessageType(topicMessageType));
// born_timestamp (millis)
long bornTimestamp = messageExt.getBornTimestamp();
@@ -271,4 +259,24 @@ public class GrpcConverter {
.setName(NamespaceUtil.withoutNamespace(resourceNameWithNamespace))
.build();
}
+
+ protected MessageType convertToGrpcMessageType(TopicMessageType
topicMessageType) {
+ switch (topicMessageType) {
+ case TRANSACTION:
+ return MessageType.TRANSACTION;
+ case DELAY:
+ return MessageType.DELAY;
+ case FIFO:
+ return MessageType.FIFO;
+ case PRIORITY:
+ return MessageType.PRIORITY;
+ case LITE:
+ return MessageType.LITE;
+ case NORMAL:
+ return MessageType.NORMAL;
+ case UNSPECIFIED:
+ default:
+ return MessageType.NORMAL;
+ }
+ }
}