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]

Reply via email to