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

   ### 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 `rocketmq-studio` branch, or I 
have stated the exact version I am running below.
   
   ### Studio Version
   
   branch: `rocketmq-studio`
   git commit id: `5e4c39b0`
   deployed as: reproduced by unit tests against that commit (the affected code 
is the backend export services)
   
   ### Runtime Environment
   
   OS: Ubuntu on WSL2
   MySQL: not applicable — the defect is in the CSV headers, reproduced in 
JUnit 5 tests
   browser: not applicable for the reproduction; the exports are downloaded 
through the console
   
   ### Connected RocketMQ Cluster
   
   RocketMQ version: not applicable — reproduced with stubbed providers; the 
values come from Studio's own store
   access mode: not applicable
   deployment: not applicable
   
   ### Describe the Bug
   
   Exported timestamps are zone-less server-local values, and only one of the 
three exports says so:
   
   - `AuditService.csvHeader()` labels its column with the server's UTC offset 
— `timestamp(UTC+08:00)` — and
     its javadoc (`ops/audit/AuditService.java:103-108`) explains why: the 
stored base is a zone-less
     server-local value, so the column name is the only thing that makes the 
file interpretable.
   - `MetadataService.buildTopicCsv` 
(`instance/topic/MetadataService.java:898`) and
     `buildConsumerGroupCsv` (`:802`) write the same kind of value under the 
plain headers `Created At` and
     `Updated At`, with no zone.
   
   A topic or consumer-group CSV that leaves the console (or is attached to a 
ticket) therefore carries
   timestamps that cannot be interpreted without knowing the server's zone out 
of band; the same value read in
   another zone is off by the offset, and the file gives no hint.
   
   ### Steps to Reproduce
   
   1. Export topics or consumer groups from the console (`GET 
/api/topics/export` / `GET /api/groups/export`) and
      read the header row: `...,"Created At","Updated At"`.
   2. Or run the regression tests:
   
      ```
      cd server && mvn -B -ntp test 
-Dtest=MetadataServiceTest#exportTopicsShouldLabelTheTimestampColumnsWithTheServerZoneTest
      ```
   
   ### What Did You Expect to See?
   
   Both timestamp columns name the zone their values are in, the way the audit 
export already does — e.g.
   `Created At(UTC+08:00)`, or `(UTC)` on a server whose zone is UTC.
   
   ### What Did You See Instead?
   
   `"Created At"` / `"Updated At"` with no zone, in an otherwise 
self-describing CSV.
   
   ### Additional Context
   
   The stored values are deliberately not converted (that is a repo-wide change 
needing schema defaults and a
   backfill, as the audit export's javadoc notes); this is only about naming 
the zone. A fix with regression tests
   follows in a pull request.
   
   ### 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