GitHub user bhaisaab opened a pull request:
https://github.com/apache/cloudstack/pull/1493
utils: Use non-blocking SSL handshake in NioConnection/Link
- Uses non-blocking socket config in NioClient and NioServer/NioConnection
- Scalable connectivity from agents and peer clustered-management server
- Removes blocking ssl handshake code with a non-blocking code
- Protects from denial-of-service issues that can degrade mgmt server
responsiveness
due to an aggressive/malicious client
- Uses separate executor services for handling connect/accept events
Changes are covered the NioTest so I did not write a new test, advise how
we can improve this. Further, I tried to invest time on writing a benchmark
test to reproduce a degraded server but could not write it deterministic-ally
(sometimes fails/passes but not always). Review, CI testing and feedback
requested /cc @swill @jburwell @DaanHoogland @wido @remibergsma
@rafaelweingartner @GabrielBrascher
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/shapeblue/cloudstack nio-fix
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cloudstack/pull/1493.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1493
----
commit 1daa815e9d92047b1e6d569926093f9bb949c84a
Author: Rohit Yadav <[email protected]>
Date: 2016-04-13T10:25:22Z
utils: Use non-blocking SSL handshake in NioConnection/Link
- Uses non-blocking socket config in NioClient and NioServer/NioConnection
- Scalable connectivity from agents and peer clustered-management server
- Removes blocking ssl handshake code with a non-blocking code
- Protects from denial-of-service issues that can degrade mgmt server
responsiveness
due to an aggressive/malicious client
- Uses separate executor services for handling connect/accept events
Signed-off-by: Rohit Yadav <[email protected]>
----
---
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 [email protected] or file a JIRA ticket
with INFRA.
---