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

   ### Before Creating the Bug Report
   
   - [x] I have searched the [open 
issues](https://github.com/apache/rocketmq-dashboard/issues) in this repository 
and believe that this is not a duplicate.
   
   ### Studio Version
   
   branch: `rocketmq-studio`, git commit id: `127c47b0`
   
   ### Describe the Bug
   
   `docs/api-spec.md` §5.10 (the LiteTopic session endpoint, added by #5684 on 
2026-10-19) documents a field the endpoint never returns and omits one it 
always returns.
   
   - **`popProgress` is fabricated.** No provider fills it. #6144 (merged 
2026-10-12, fixing #6139) removed `popProgress` from `LiteTopicSessionVO`, from 
`LiteTopicSession`, from `rmq.litetopic.session`, and from 
`tool-catalog/tools/litetopic.yaml`, following the same "drop the fabricated 
field" decision as #5600. The spec section merged a week later puts the field 
back, so a client that reads the spec looks for a property that can never 
appear.
   - **`consumedScanTruncated` is missing.** #6114 (merged) added it so callers 
can tell that the consumed count is partial: `RocketMQLiteTopicProvider` 
returns a `ConsumedScan` whose `truncated` flag is set when the scan stops at 
the lite-topic cap, `LiteTopicService.toSessionVO` maps it, and the console 
renders the count as a lower bound (`web/src/pages/studio/LiteTopic.tsx`). With 
the flag absent from the spec, an API client has no way to know 
`consumedMessages` is only a lower bound and will present it as exact.
   
   ### Reproduction
   
   `GET /api/liteTopic/session/{sessionId}` on trunk `127c47b0`:
   
   - response body contains `consumedScanTruncated` (boolean) and never 
`popProgress`;
   - `docs/api-spec.md` §5.10 lists `popProgress` and does not list 
`consumedScanTruncated`.
   
   ### Expected behavior
   
   §5.10 lists exactly the properties `LiteTopicSessionVO` serializes, with the 
truncation flag documented as the reason `consumedMessages` can be a lower 
bound.
   
   ### Proposed fix
   
   Replace the fabricated row with `consumedScanTruncated` and pin the table 
with a test that compares the documented field names against the view's 
serialized properties, so the next field added to or removed from 
`LiteTopicSessionVO` cannot drift from the spec. I have the change ready and 
will attach the PR.
   


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