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

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

Github user swill commented on the pull request:

    https://github.com/apache/cloudstack/pull/1251#issuecomment-220628965
  
    Similar issues on this run.  They are not related to this PR.  Still need 
some review on this one...


> 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: Future
>
>
> 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