[
https://issues.apache.org/jira/browse/CLOUDSTACK-9348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15352522#comment-15352522
]
ASF GitHub Bot commented on CLOUDSTACK-9348:
--------------------------------------------
Github user rhtyd commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1549#discussion_r68709839
--- Diff: utils/src/main/java/com/cloud/utils/nio/NioConnection.java ---
@@ -125,7 +125,7 @@ public boolean isStartup() {
public Boolean call() throws NioConnectionException {
while (_isRunning) {
try {
- _selector.select();
+ _selector.select(1000);
--- End diff --
@swill this change ^^ causes the selector loop to never block indefinitely
but at most 1 second. This ensures that reconnections are fast. If anyone
experiences the behaviour that tel-netting to port 8250 causes agent to
reconnect then, either (1) they are not using latest master or (2) they did not
wait for up to one second (i.e. hit an edge case), in which case we can lower
this number to 100-500 millisecond at the expense of increasing cpu usage.
> 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)