youngkermit8-coder opened a new issue, #2376:
URL: https://github.com/apache/rocketmq-dashboard/issues/2376

   ### Description
   
   `GET /api/dlq/export` can scan up to 5,000 dead-letter messages. 
`RocketMQDLQProvider` bounds only the message count, keeps every `MessageExt` 
(including its body) in memory, then converts each body to both UTF-8 text and 
Base64 before `DLQController` serializes the entire list into another `byte[]`.
   
   There is no aggregate byte limit. With large but broker-valid messages, one 
authenticated read request can therefore retain and copy a very large amount of 
heap even though the item-count cap is respected.
   
   ### Expected behavior
   
   DLQ export should stop before materializing an unsafe aggregate body size 
and return a clear client error that lets the caller narrow the time range or 
`maxCount`.
   
   ### Actual behavior
   
   An export whose combined raw message bodies exceed 10 MiB completes normally 
and is fully converted to text, Base64, and JSON.
   
   ### Proposed fix
   
   - enforce a 10 MiB aggregate raw-message-body budget while scanning an 
export;
   - fail with HTTP 413 before the over-budget message is retained or encoded;
   - keep normal exports and the existing message-count cap unchanged;
   - add regression coverage for an exact-boundary export and a combined-body 
overflow.
   
   ### Reproduction
   
   On the current `rocketmq-studio` head, a focused provider test returning one 
10 MiB + 1 byte message fails because `exportMessages` raises no exception:
   
   ```
   Expecting code to raise a throwable.
   ```
   


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