Frun1na opened a new issue, #4880: URL: https://github.com/apache/rocketmq-dashboard/issues/4880
### Is your feature request related to a problem? Please describe. `rmqctl`'s MCP client decides whether a terminated session can be re-initialized from `transport.GetSessionId() != ""`. The mcp-go Streamable HTTP transport clears its stored session id as soon as any request fails with a 404 (`sessionID.CompareAndSwap(sessionID, "")`). When two concurrent sends both hit a terminated session, the second sender's snapshot is taken after that clearing, so it sees an empty id, skips the reinitialize, and surfaces `session terminated (404)` to the caller even though reconnecting was possible. ### Describe the solution you'd like Base the reconnect decision on the recorded initialize request (`state.initialize != nil`) instead of the transport's session id. The generation check inside `reinitialize` already keeps concurrent senders serialized. ### Additional context Fix in https://github.com/apache/rocketmq-dashboard/pull/4876 -- 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]
