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]
