cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-9180) Optimize concurrent VM deployment operation on same network
Date Mon, 11 Jan 2016 09:40:40 GMT

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

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

Github user koushik-das commented on the pull request:

    https://github.com/apache/cloudstack/pull/1251#issuecomment-170488605
  
    @pedro-martins By java doc are you referring to adding some comments for isRouterDeployed()?
Note that this is a private method.
    If you look at the unit tests I have added, isRouterDeployed() is getting invoked in them.
The function invocation count verification ensures that the method is called.


> 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)

Mime
View raw message