maixiaohai commented on a change in pull request #633:
URL: https://github.com/apache/rocketmq-externals/pull/633#discussion_r487866541



##########
File path: 
rocketmq-console/src/main/java/org/apache/rocketmq/console/service/impl/MessageTraceServiceImpl.java
##########
@@ -42,11 +42,9 @@
     @Override public List<MessageTraceView> 
queryMessageTraceByTopicAndKey(String topic, String key) {
         try {
             List<MessageTraceView> messageTraceViews = new 
ArrayList<MessageTraceView>();
-            List<MessageExt> messageTraceList = mqAdminExt.queryMessage(topic, 
key, QUERY_MESSAGE_MAX_NUM, 0, System.currentTimeMillis()).getMessageList();
-            for (MessageExt messageExt : messageTraceList) {
-                List<MessageTraceView> messageTraceView = 
MessageTraceView.decodeFromTraceTransData(key, new String(messageExt.getBody(), 
Charsets.UTF_8));
-                messageTraceViews.addAll(messageTraceView);
-            }
+            MessageExt messageExt = mqAdminExt.viewMessage(topic, key);

Review comment:
       QueryMessage method seems have a different parameter with ViewMessage 
method, and  QueryMessage need a input parameter **key**, while here we query 
by msgId, so always the api return "query message by key finished, but no 
message".
   Actually, I'm not quite sure about the difference between **key** and 
**msgId**, so I read the source code of **QueryMessageProcessor** class , it 
has two methods viewMessageById and queryMessage, queryMessage seems a kind of 
batch search.




----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to