JiaLiangC opened a new pull request, #3672:
URL: https://github.com/apache/ambari/pull/3672

   ## What changes were proposed in this pull request?
   #### Background
   The AgentRegisteringQueueChecker is an interceptor used during the long 
connection between the agent and server, mainly for requesting congestion 
control. It internally uses AgentsRegistrationQueue to store the sessionID of 
connections.
   
   The sessionID is added to the AgentsRegistrationQueue when the ambari agent 
registers to the server or sends a heartbeat.
   
   When the long connection between the agent and server is disconnected, or 
when the server completes the heartbeat request, the sessionID is removed from 
the AgentsRegistrationQueue.
   
   When the queue is full, the server returns "not allowed" to the agent.
   
   #### Solution
   AgentsRegistrationQueue uses ArrayBlockingQueue, which uses the same lock 
for both writing and consuming, making it easy to negatively impact performance 
when dealing with large clusters. Therefore, we are switching to using 
LinkedBlockingQueue in order to improve performance.
   
   ## How was this patch tested?
   unit tests
   


-- 
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: dev-unsubscr...@ambari.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ambari.apache.org
For additional commands, e-mail: dev-h...@ambari.apache.org

Reply via email to