qianye1001 opened a new issue, #11091:
URL: https://github.com/apache/rocketmq/issues/11091

   ### Runtime platform environment
   
   Reproduced locally on macOS with JDK 11.0.23. Both issues are in the 
platform-independent remoting server lifecycle.
   
   ### RocketMQ version
   
   `develop`, commit `4fd0e3beea`.
   
   ### Describe the Bug
   
   `NettyRemotingServer.newRemotingServer(port)` creates sub servers that share 
the parent server's execution resources, but each sub server owns a separate 
response table and async semaphore. The parent's housekeeping timer only scans 
its own response table. A server-initiated async request sent through a sub 
server can therefore remain pending indefinitely when the write succeeds but no 
response arrives. Its response-table entry and async permit are retained.
   
   Separately, `NettyRemotingServer.shutdown()` does not shut down the 
scheduled executor used to periodically print remoting-code distributions. The 
`NettyServerScheduler` thread and periodic task remain alive after server 
shutdown.
   
   ### Steps to Reproduce
   
   1. Start a `NettyRemotingServer` and create a sub server with 
`newRemotingServer(port)`.
   2. Invoke an async request through the sub server on an existing channel. 
Let the write succeed without delivering a response.
   3. Wait beyond the request timeout and housekeeping interval. Check callback 
completion, the sub server's response table and its async permits.
   4. Shut down the parent server and check the remoting-code distribution 
scheduler.
   
   ### What Did You Expect to See?
   
   The shared housekeeping timer expires requests for both the parent and its 
sub servers, invokes timeout callbacks, and releases their async permits. 
Shutting down the parent also stops its statistics scheduler.
   
   ### What Did You See Instead?
   
   Only parent-server requests are scanned. Timed-out sub-server requests 
retain their entries and permits. The statistics scheduler is not shut down.
   


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