Hello, everyone, so sorry to bother you and I would like to discuss how to 
optimize the invoke retry logic of async repsonder when some nameservices are 
slow.
  Currently, all nameservices share one async responder thread pool which is in 
class AsyncRpcProtocolPBUtil.
Think below situation, we have two nameservices: ns1 and ns2, and the 
performance of ns2 is very pool. If we hit the invoke retry logic in 
handlerInvokeException, we will use the thread in async responder thread pool 
to perform invoke retry. As mentioned before, and the performance of ns2 is 
very pool. This will cause all threads in the async responder thread pool being 
occupied by the slow ns2 cluster in extreme situation.
  This is a critical problem and my idea is to separate async responder thread 
pool by nameservice as well like async handler thread pool. 
   I would appreciate to hear your thoughts.


Best Regards,
- Zhang Haobo

Reply via email to