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

Likitha Shetty resolved CLOUDSTACK-7651.
----------------------------------------
    Resolution: Fixed

Fixed by 
[https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=commit;h=9866c648eb5e6ce6ded1b6dcadbb77240fe0e683]

> Various operation intermittently fail in VMware with 'he object has already 
> been deleted or has not been completely created' exceptions
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-7651
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7651
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: VMware
>    Affects Versions: 4.5.0
>            Reporter: Likitha Shetty
>            Assignee: Likitha Shetty
>            Priority: Critical
>             Fix For: 4.5.0
>
>
> +Steps to reproduce+ 
> 1. Setup VMware 4.3.0.1 with 1 CCP Management server.
> 2. Create 2 VMware DCs in 2 different vCenters.
> 3. Add 2 zones in CCP corresponding to the two DCs.
> 4. Do basic VM/Volume lifecycle operations.
> Keep monitoring the logs for the following error - 
> *javax.xml.ws.soap.SOAPFaultException: The object has already been deleted or 
> has not been completely created*
> For e.g. 
> {noformat}
> javax.xml.ws.soap.SOAPFaultException
> Message: The object has already been deleted or has not been completely 
> created
> javax.xml.ws.soap.SOAPFaultException: The object has already been deleted or 
> has not been completely created
>         at 
> com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
>         at 
> com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:119)
>         at 
> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
>         at 
> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
>         at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:110)
>         at com.sun.proxy.$Proxy389.retrieveProperties(Unknown Source)
>         at 
> com.cloud.hypervisor.vmware.util.VmwareClient.retrieveMoRefProperties(VmwareClient.java:308)
>         at 
> com.cloud.hypervisor.vmware.util.VmwareClient.getDynamicProperty(VmwareClient.java:263)
>         at 
> com.cloud.hypervisor.vmware.mo.HostMO.getHostDatastoreSystemMO(HostMO.java:166)
>         at 
> com.cloud.hypervisor.vmware.mo.HostMO.findDatastore(HostMO.java:889)
>         at 
> com.cloud.hypervisor.vmware.mo.HypervisorHostHelper.findDatastoreWithBackwardsCompatibility(HypervisorHostHelper.java:131)
>         at 
> com.cloud.storage.resource.VmwareStorageProcessor.deleteVolume(VmwareStorageProcessor.java:1481)
>         at 
> com.cloud.storage.resource.StorageSubsystemCommandHandlerBase.execute(StorageSubsystemCommandHandlerBase.java:120)
>         at 
> com.cloud.storage.resource.StorageSubsystemCommandHandlerBase.handleStorageCommands(StorageSubsystemCommandHandlerBase.java:54)
>         at 
> com.cloud.hypervisor.vmware.resource.VmwareResource.executeRequest(VmwareResource.java:598)
>         at 
> com.cloud.agent.manager.DirectAgentAttache$Task.runInContext(DirectAgentAttache.java:215)
>         at 
> org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:50)
>         at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
>         at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
>         at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
>         at 
> org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:47)
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:701)
> {noformat}
> +Root Cause Analysis+
> The thread local context which is used to handle connections to a vCenter is 
> being re-used intermittently. And when it is re-used, if the existing context 
> corresponds to the other vCenter then the operation being executed will fail.
> The re-use is happening because after the PingTask completion we are not 
> clearing the ThreadLocal context.



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

Reply via email to