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

Alena Prokharchyk resolved CLOUDSTACK-4479.
-------------------------------------------

    Resolution: Won't Fix

Talked to Chandan. Here is what happened:

1) CreateVPC command was fired from the UI.
2) W/o waiting for the command to return success, Configure button was clicked 
and createNetwork call was made.
3) #1 failed at some point before createNetwork call was sent to the backend. 
When VPC fails to create, the code destroys it. So createNetwork call was 
executed for VPC that no longer existed, and it resulted in the LockWaitTimeout 
error - entry couldn't be located in the DB.


- Chandan is going to file a separate bug reflecting the reasons why VPC failed 
to create - something related to DataStore

- In the future release we have to fix following bug 
https://issues.apache.org/jira/browse/CLOUDSTACK-3984 - we need to introduce 
more states to the VPC. Currently VPC goes to "Enabled" state right after the 
entry is created in the DB, while it still might be going through the creation 
stage. So if you refresh the UI before the createVPC command completes, you see 
the VPC in Enabled state, and can fire up createNetwork command. This might 
result in similar Lock wait timeout failure in case when VPC fails to create by 
some reason. We don't have to fix it in this release, as introducing more 
states is dangerous, plus the problem would occur only in failure cases 
scenario, and its easy to recover from it.
                
> VPC Network Tier creation fails
> -------------------------------
>
>                 Key: CLOUDSTACK-4479
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4479
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Management Server, VMware
>    Affects Versions: 4.2.0
>         Environment: 3.0.6-1 to 4.2 Upgraded Environment, VMWare ESXi 5.0 
> Hosts in two different clusters
>            Reporter: Chandan Purushothama
>            Assignee: Alena Prokharchyk
>            Priority: Blocker
>             Fix For: 4.2.1
>
>         Attachments: management-server.zip, mysqldumps.zip
>
>
> =======================
> Steps to Reproduce the Bug:
> =======================
> 1. Create a new account
> 2. Login as the new User
> 3. Create a VPC
> 4. Click on configure button of the VPC entry
> 5. Create a Network
> ============
> Observations:
> ============
> 2013-08-23 12:06:05,332 DEBUG [db.Transaction.Transaction] 
> (catalina-exec-17:null) Rolling back the transaction: Time = 295056 Name =  
> createGuestNetwork; called by 
> -Transaction.rollback:898-Transaction.removeUpTo:841-Transaction.close:665-TransactionContextBuilder.interceptException:63-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:133-VpcManagerImpl.validateNtwkOffForNtwkInVpc:1053-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:125-VpcManagerImpl.createVpcGuestNetwork:2051-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:125-NetworkServiceImpl.createGuestNetwork:1293-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:125-CreateNetworkCmd.execute:286
> 2013-08-23 12:06:05,342 ERROR [cloud.api.ApiServer] (catalina-exec-17:null) 
> unhandled exception executing api command: createNetwork
> com.cloud.utils.exception.CloudRuntimeException: Unable to acquire lock on 
> [VPC [3-neon-VPC-1]
>         at 
> com.cloud.network.vpc.VpcManagerImpl.validateNewVpcGuestNetwork(VpcManagerImpl.java:1140)
>         at 
> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at 
> com.cloud.network.vpc.VpcManagerImpl.validateNtwkOffForNtwkInVpc(VpcManagerImpl.java:1053)
>         at 
> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at 
> com.cloud.network.vpc.VpcManagerImpl.createVpcGuestNetwork(VpcManagerImpl.java:2051)
>         at 
> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at 
> com.cloud.network.NetworkServiceImpl.createGuestNetwork(NetworkServiceImpl.java:1293)
>         at 
> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at 
> org.apache.cloudstack.api.command.user.network.CreateNetworkCmd.execute(CreateNetworkCmd.java:286)
>         at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
>         at com.cloud.api.ApiServer.queueCommand(ApiServer.java:514)
>         at com.cloud.api.ApiServer.handleRequest(ApiServer.java:372)
>         at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:305)
>         at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>         at 
> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
>         at 
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
>         at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2268)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:679)
> 2013-08-23 12:06:05,344 DEBUG [cloud.api.ApiServlet] (catalina-exec-17:null) 
> ===END===  10.214.4.78 -- GET  
> command=createNetwork&response=json&sessionkey=duvdSoqWoCgw9y7lu801ScfL6Rk%3D&zoneId=97fb6e7c-25fa-4ce6-bf25-c4d20a1e7a5a&vpcid=6cdff0f2-6e52-49fb-9380-ffb98f53d185&domainid=1&account=neon&networkOfferingId=fefb63d7-aa70-4e56-bbb6-fb76b3a86c8a&name=Neon-VPC-Net-1&displayText=Neon-VPC-Net-1&gateway=192.168.10.1&netmask=255.255.255.0&_=1377284880773
> 2013-08-23 12:06:07,950 DEBUG [agent.manager.AgentManagerImpl] 
> (AgentManager-Handler-12:null) SeqA 7-30551: Processing Seq 7-30551:  { Cmd , 
> MgmtId: -1, via: 7, Ver: v1, Flags: 11, 
> [{"com.cloud.agent.api.ConsoleProxyLoadReportCommand":{"_proxyVmId":9,"_loadInfo":"{\n
>   \"connections\": []\n}","wait":0}}] }
> 2013-08-23 12:06:07,956 DEBUG [agent.manager.AgentManagerImpl] 
> (AgentManager-Handler-12:null) SeqA 7-30551: Sending Seq 7-30551:  { Ans: , 
> MgmtId: 7471666038533, via: 7, Ver: v1, Flags: 100010, 
> [{"com.cloud.agent.api.AgentControlAnswer":{"result":true,"wait":0}}] }
> From the stack trace mentioned above, it doesn't look like a hypervisor 
> specific issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to