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();