[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-9180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Koushik Das updated CLOUDSTACK-9180:
------------------------------------
    Fix Version/s:     (was: Future)
                   4.9.0

> 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.9.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