yyqdbngt opened a new pull request, #2936: URL: https://github.com/apache/rocketmq-dashboard/pull/2936
## Summary - order message trace timeline nodes chronologically in `MessageService` before returning them (stable sort, applied to the three-arg trace, four-arg trace, and key-based trace lookups) - normalize missing node/consumer-status lists to empty lists so the UI never sees null - add regression coverage for ordering, equal-timestamp stability, and null lists ## Why Providers emit trace nodes in broker result order, which is not chronological across trace types and queues: the trace topic has multiple queues and `Pub`/`SubAfter`/`EndTransaction` contexts arrive interleaved. Neither the provider layer nor the web client sorts the timeline, so the UI could render produce after consume. Sorting defensively in the service layer covers every provider (Apache, Aliyun, Tencent) at once, and the stable sort keeps provider order for equal timestamps. ## Testing - `cd server && mvn -q -Dtest=MessageServiceTest test` — all tests pass, including the new `traceTimelineShouldBeReturnedInChronologicalOrder`, `traceTimelineShouldKeepProviderOrderForEqualTimestamps`, and `traceTimelineShouldNormalizeMissingNodeLists` - `cd server && mvn -q -Dtest=MessageControllerTest test` — all tests pass (regression for the trace endpoints) -- 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]
