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

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

Github user DaanHoogland commented on the pull request:

    https://github.com/apache/cloudstack/pull/1251#issuecomment-173220018
  
    @wilderrodrigues Agreed @pedro-martins comments, persé should add to the 
clarity of the code, even javadoc. If the name is explanatory and there are no 
unexpected side effects we should not create them, especially for private 
methods. It doubles the maintenance needed. When changes are done both the code 
and the comments needs to change.


> Optimize concurrent VM deployment operation on same network
> -----------------------------------------------------------
>
>                 Key: CLOUDSTACK-9180
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9180
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Management Server
>    Affects Versions: 4.6.0
>            Reporter: Koushik Das
>            Assignee: Koushik Das
>             Fix For: 4.7.0
>
>
> During VM deployment a check is performed to see if VR exists or not. If not 
> it is created - first an entry is allocated in DB for VR and then it is 
> deployed. The allocation logic is placed in a lock (based on network id) so 
> that only one thread does the allocation. But the locking is implemented in a 
> way such that all threads wait on that lock even when VR is already 
> allocated. The correct approach would be to check if VR is allocated or not 
> and acquire lock only when needed.
> This issue is more frequently seen when concurrently deploying VMs in basic 
> zone as all threads try to acquire lock using the same network id. In 
> advanced zone operations are spread across multiple networks and so less 
> frequent.
> Refer to findOrDeployVirtualRouter() in RouterDeploymentDefinition.java.



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

Reply via email to