Loyal-Young opened a new issue, #6463: URL: https://github.com/apache/rocketmq-dashboard/issues/6463
### Component / reproduction `rocketmq-studio`, `MqClientPool.execute` and `MqAdminExtFactory.execute`. Both pool wrappers catch every checked exception from an admitted client action and turn it into a BusinessException. If a RocketMQ call throws InterruptedException (for example while waiting on a remoting semaphore), the JVM has cleared the thread's interrupt flag, and the wrapper never restores it. An interrupted operation therefore looks like an ordinary call failure to outer code that observes `Thread.currentThread().isInterrupted()`. This loses a cancellation/shutdown signal at the pool boundary. Other provider interruption paths already restore it. ### Proposed fix / regression Restore the interrupt flag when wrapping a direct InterruptedException from a pooled action. Keep the existing error code/message and lease-release behavior. Add producer, pull-consumer and admin regressions using a real interrupted blocking operation, plus ordinary-exception controls. I searched interruption/pool PRs and found no matching fix. AI assistance was used to trace the wrappers and draft this report. -- 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]
