zmuxuny opened a new issue, #6624:
URL: https://github.com/apache/rocketmq-dashboard/issues/6624

   ### Before Creating the Bug Report
   
   - [x] I have searched the [open 
issues](https://github.com/apache/rocketmq-dashboard/issues) of this repository 
and believe that this is not a duplicate.
   
   - [x] This is a defect in RocketMQ Studio, not a usage question and not a 
defect in another Apache RocketMQ repository.
   
   - [x] I can reproduce this on the current `master` branch, or I have stated 
the exact version I am running below.
   
   
   ### Studio Version
   
   rocketmq-studio@779b8c0e7aed2396d3cc72743dcd544ea48e9ae6
   
   ### Runtime Environment
   
   Linux, Java 21, Maven 3.9.11. Controlled RocketMQ admin responses with trace 
payloads produced by the pinned RocketMQ 5.5.0 TraceDataEncoder.
   
   ### Connected RocketMQ Cluster
   
   Apache RocketMQ provider; no live broker or credentials used. Fixtures 
exercise the actual provider and SDK encoding.
   
   ### Build Toolchain
   
   _No response_
   
   ### Describe the Bug
   
   A trace lookup using a physical offset message ID locates the original 
message but retains only its timestamp. It then queries and filters trace 
records using the supplied physical ID. SDK producer traces are indexed by 
TraceBean.msgId (the producer logical ID / UNIQ_KEY), not offsetMsgId, so valid 
traces are silently missed.
   
   ### Steps to Reproduce
   
   1. Return an original message with offset ID 
AC1E0A6400002A9F0000000001A3F2B1 and UNIQ_KEY logical-message-id.
   2. Encode its trace with RocketMQ 5.5.0 TraceDataEncoder: the index contains 
logical-message-id and order-key, not the physical ID.
   3. Invoke getMessageTrace for the physical ID, once through the topic lookup 
and once through the decoded-offset fallback with a custom trace topic.
   4. Both queries currently return an empty trace despite successfully 
locating the original message.
   
   ### What Did You Expect to See?
   
   Reuse the located original message to retain both timestamp and effective 
trace identity. Query and filter by its nonblank UNIQ_KEY, keeping the 
supplied-ID fallback for legacy messages without that property. Unrelated 
records in batched trace payloads must remain excluded.
   
   ### What Did You See Instead?
   
   Four new SDK-encoded regression fixtures on unchanged production: exactly 
two assertion failures (both physical-ID paths return empty), two compatibility 
controls pass (logical-ID input and legacy original without UNIQ_KEY); zero 
errors/skips. Checkstyle passes.
   
   ### Additional Context
   
   Searched trace physical/offset/UNIQ_KEY issues and PRs. #5202 addresses the 
separate direct-consumption identity direction; #6620 addresses legacy producer 
send status; #5519 addresses SubBefore retry counts. This report concerns trace 
lookup identity only. AI assistance was used.
   
   ### Are You Willing to Submit a Pull Request?
   
   - [x] Yes, I am willing to submit a pull request.


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