[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-9348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15272724#comment-15272724
 ] 

ASF GitHub Bot commented on CLOUDSTACK-9348:
--------------------------------------------

GitHub user rhtyd opened a pull request:

    https://github.com/apache/cloudstack/pull/1534

    CLOUDSTACK-9348: Optimize NioTest and NioConnection main loop

    - Reduces SSL handshake timeout to 15s, previously this was only 10s in
      commit debfcdef788ce0d51be06db0ef10f6815f9b563b
    - Adds an aggresive explicit wakeup to save the Nio main IO loop/handler 
from
      getting blocked
    - Fix NioTest to fail/succeed in about 60s, previously this was 300s
    - Due to aggresive wakeup usage, NioTest should complete in less than 5s on 
most
      systems. On virtualized environment this may slightly increase due to 
thread,
      CPU burst/scheduling delays.
    
    /cc @swill  please review and merge.
    Sorry about the previous values, they were not optimized for virtualized 
env. The aggressive selector.wakeup will ensure main IO loop does not get 
blocked even by malicious users, even for any timeout (ssl handshake etc).

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/shapeblue/cloudstack niotest-fix

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/1534.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 #1534
    
----
commit ea22869593f68a3a34b12aeb23c2bb6c34efd365
Author: Rohit Yadav <rohit.ya...@shapeblue.com>
Date:   2016-05-05T17:49:33Z

    CLOUDSTACK-9348: Optimize NioTest and NioConnection main loop
    
    - Reduces SSL handshake timeout to 15s, previously this was only 10s in
      commit debfcdef788ce0d51be06db0ef10f6815f9b563b
    - Adds an aggresive explicit wakeup to save the Nio main IO loop/handler 
from
      getting blocked
    - Fix NioTest to fail/succeed in about 60s, previously this was 300s
    - Due to aggresive wakeup usage, NioTest should complete in less than 5s on 
most
      systems. On virtualized environment this may slightly increase due to 
thread,
      CPU burst/scheduling delays.
    
    Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>

----


> CloudStack Server degrades when a lot of connections on port 8250
> -----------------------------------------------------------------
>
>                 Key: CLOUDSTACK-9348
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9348
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>            Reporter: Rohit Yadav
>            Assignee: Rohit Yadav
>             Fix For: 4.9.0
>
>
> An intermittent issue was found with a large CloudStack deployment, where 
> servers could not keep agents connected on port 8250.
> All connections are handled by accept() in NioConnection:
> https://github.com/apache/cloudstack/blob/master/utils/src/main/java/com/cloud/utils/nio/NioConnection.java#L125
> A new connection is handled by accept() which does blocking SSL handshake. A 
> good fix would be to make this non-blocking and handle expensive tasks in 
> separate threads/pool. This way the main IO loop won't be blocked and can 
> continue to serve other agents/clients.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to