Skip to content

NPE while VolumeOrchestrator does a storage cleanup for vm #2837

@resmo

Description

@resmo
ISSUE TYPE
  • Bug Report
COMPONENT NAME
Storage / Volume
CLOUDSTACK VERSION
4.5, 4.11
CONFIGURATION

N/A

OS / ENVIRONMENT

VMware, Zone wide primary storage

SUMMARY

We see a stracktrace for a DestoryVM command of a running VM marked to run on a host having a removed date. We didn't find the reason of this constellation. However, the NPE should be avoided.

STEPS TO REPRODUCE

EXPECTED RESULTS

No npe

ACTUAL RESULTS
2018-08-21 10:23:51,837 DEBUG [engine.orchestration.VolumeOrchestrator] (API-Job-Executor-117:ctx-d92e718d job-1771709 ctx-33377d30) Cleaning storage for vm: 5661  
2018-08-21 10:23:51,919 DEBUG [datastore.driver.CloudStackPrimaryDataStoreDriverImpl] (API-Job-Executor-117:ctx-d92e718d job-1771709 ctx-33377d30) Unable to destoy volume6506  

java.lang.NullPointerException  
       at org.apache.cloudstack.storage.RemoteHostEndPoint.configure(RemoteHostEndPoint.java:75)  
       at org.apache.cloudstack.storage.RemoteHostEndPoint.getHypervisorHostEndPoint(RemoteHostEndPoint.java:89)  
       at org.apache.cloudstack.storage.endpoint.DefaultEndPointSelector.getEndPointFromHostId(DefaultEndPointSelector.java:318)  
       at org.apache.cloudstack.storage.endpoint.DefaultEndPointSelector.select(DefaultEndPointSelector.java:349)  
       at org.apache.cloudstack.storage.datastore.driver.CloudStackPrimaryDataStoreDriverImpl.deleteAsync(CloudStackPrimaryDataStoreDriverImpl.java:209)  
       at org.apache.cloudstack.storage.volume.VolumeServiceImpl.expungeVolumeAsync(VolumeServiceImpl.java:322)  
       at org.apache.cloudstack.engine.orchestration.VolumeOrchestrator.cleanupVolumes(VolumeOrchestrator.java:881)  
       at com.cloud.vm.VirtualMachineManagerImpl.advanceExpunge(VirtualMachineManagerImpl.java:525)  
       at com.cloud.vm.VirtualMachineManagerImpl.advanceExpunge(VirtualMachineManagerImpl.java:457)  
       at com.cloud.vm.UserVmManagerImpl.expunge(UserVmManagerImpl.java:1738)  
       at com.cloud.vm.UserVmManagerImpl.destroyVm(UserVmManagerImpl.java:2186)  
       at sun.reflect.GeneratedMethodAccessor4430.invoke(Unknown Source)  
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
       at java.lang.reflect.Method.invoke(Method.java:606)  
       at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)  
       at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)  
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)  
       at org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:106)  
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)  
       at com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:51)  
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)  
       at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)  
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)  
       at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)  
       at com.sun.proxy.$Proxy213.destroyVm(Unknown Source)  
       at org.apache.cloudstack.api.command.user.vm.DestroyVMCmd.execute(DestroyVMCmd.java:123)  
       at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:141)  
       at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:108)  
       at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:537)  
       at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)  
       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:46)  
       at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:494)  
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)  
       at java.util.concurrent.FutureTask.run(FutureTask.java:262)  
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)  
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)  
       at java.lang.Thread.run(Thread.java:745)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions