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]

Reply via email to