This is an automated email from the ASF dual-hosted git repository.

lizhimins pushed a commit to branch rocketmq-studio
in repository https://gitbox.apache.org/repos/asf/rocketmq-dashboard.git


The following commit(s) were added to refs/heads/rocketmq-studio by this push:
     new 3fdcc75ff fix(tencent): report failed trace stages as error (#4915)
3fdcc75ff is described below

commit 3fdcc75ff63fefba08b08dc8243e5f7f1223ff01
Author: Wang1rrr <[email protected]>
AuthorDate: Sat Sep 26 18:44:42 2026 +0800

    fix(tencent): report failed trace stages as error (#4915)
    
    toTraceStatus mapped every non-zero produce / persist status to the literal
    "failed", which is not a valid AntD Steps status (the frontend union is
    wait / process / finish / error). Map failures to "error" so failed stages 
are
    rendered as failed instead of falling back to the default pending 
appearance.
---
 .../studio/provider/tencent/TencentInstanceProvider.java  |  2 +-
 .../provider/tencent/TencentInstanceProviderTest.java     | 15 +++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git 
a/server/src/main/java/org/apache/rocketmq/studio/provider/tencent/TencentInstanceProvider.java
 
b/server/src/main/java/org/apache/rocketmq/studio/provider/tencent/TencentInstanceProvider.java
index e17d26b12..75835d692 100644
--- 
a/server/src/main/java/org/apache/rocketmq/studio/provider/tencent/TencentInstanceProvider.java
+++ 
b/server/src/main/java/org/apache/rocketmq/studio/provider/tencent/TencentInstanceProvider.java
@@ -938,7 +938,7 @@ public class TencentInstanceProvider implements 
InstanceProvider {
     }
 
     private static String toTraceStatus(int status) {
-        return status == 0 ? "finish" : "failed";
+        return status == 0 ? "finish" : "error";
     }
 
     private static String toConsumeTraceStatus(int status) {
diff --git 
a/server/src/test/java/org/apache/rocketmq/studio/provider/tencent/TencentInstanceProviderTest.java
 
b/server/src/test/java/org/apache/rocketmq/studio/provider/tencent/TencentInstanceProviderTest.java
index 4ee5af80b..feeacc993 100644
--- 
a/server/src/test/java/org/apache/rocketmq/studio/provider/tencent/TencentInstanceProviderTest.java
+++ 
b/server/src/test/java/org/apache/rocketmq/studio/provider/tencent/TencentInstanceProviderTest.java
@@ -1216,6 +1216,21 @@ class TencentInstanceProviderTest {
         assertThat(captor.getValue().getMsgId()).isEqualTo("MSG-1");
     }
 
+    @Test
+    void getMessageTraceMarksFailedProduceAsErrorTest() throws Exception {
+        MessageTraceItem produce = new MessageTraceItem();
+        produce.setStage("produce");
+        produce.setData("{\"Status\":3,\"Duration\":2}");
+        DescribeMessageTraceResponse response = new 
DescribeMessageTraceResponse();
+        response.setData(new MessageTraceItem[]{produce});
+        when(client.DescribeMessageTrace(any())).thenReturn(response);
+
+        TraceRecordVO trace = provider.getMessageTrace(STUDIO_INSTANCE_ID, 
"MSG-3", "orders");
+
+        assertThat(trace.getNodes()).hasSize(1);
+        assertThat(trace.getNodes().get(0).getStatus()).isEqualTo("error");
+    }
+
     @Test
     void getMessageTraceMarksInFlightConsumeAsProcessNotFailed() throws 
Exception {
         MessageTraceItem consume = new MessageTraceItem();

Reply via email to