Github user marcaurele commented on the issue:

    https://github.com/apache/cloudstack/pull/2027
  
    @rhtyd I found one issue with the test and `NioConnection` class. This kind 
of intermittent problem are always hard to search for a root cause, but after 
lots of logging I finally found why. I updated the PR with the change.
    
    If the main thread running the test is stopped there 
https://github.com/apache/cloudstack/blob/master/utils/src/main/java/com/cloud/utils/nio/NioConnection.java#L102
 due to context switching, the flag `_isRunning` isn't switched to True by the 
time the NioServer connection handler start it's call loop, and it exits on the 
`while(_isRunning)`
    
https://github.com/apache/cloudstack/blob/master/utils/src/main/java/com/cloud/utils/nio/NioConnection.java#L125
 directly. Therefore the server isn't listening at all and the connection 
cannot be made. The flag `_isRunning` must be turned `true` before submitting 
the task/thread.
    
    I still digging into Nio thread handler as we are experiencing some problem 
in production when quite a few agents try to connect at the same time to a 
management server. None of them can connect.



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to