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

ASF subversion and git services commented on CLOUDSTACK-8122:
-------------------------------------------------------------

Commit a5a65c7b551ee5cc32588997937267b716eff681 in cloudstack's branch 
refs/heads/master from [~likithas]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=a5a65c7 ]

CLOUDSTACK-8122. Handle NPE thrown during migration failures.
When migration fails instead of returning NULL, throw the exception.


> NPE with root volume migration when its volume snapshot is in progress 
> (BackingUp state)
> ----------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-8122
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8122
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>    Affects Versions: 4.5.0
>            Reporter: Likitha Shetty
>            Assignee: Likitha Shetty
>             Fix For: Future
>
>
> +Steps to reproduce+
> 1. Deploy a VM with datadisk.
> 2. Detach the datadisk.
> 3. Take a snapshot of the datadisk.
> 4. Try to migrate the volume while the snapshot is being backed up to the 
> secondary storage. 
> Migration will fail with the below -
> {noformat}
> 2014-12-04 09:44:25,003 DEBUG [o.a.c.s.v.VolumeServiceImpl] 
> (Work-Job-Executor-9:ctx-a4ad7ae7 job-91/job-92 ctx-8903d6b4) 
> (logid:0dbd7888) There are snapshots creating on this volume, can not move 
> this volume
> 2014-12-04 09:44:25,003 ERROR [o.a.c.e.o.VolumeOrchestrator] 
> (Work-Job-Executor-9:ctx-a4ad7ae7 job-91/job-92 ctx-8903d6b4) 
> (logid:0dbd7888) migrate volume failed:There are snapshots creating on this 
> volume, can not move this volume
> 2014-12-04 09:44:25,004 DEBUG [c.c.s.VolumeApiServiceImpl] 
> (Work-Job-Executor-9:ctx-a4ad7ae7 job-91/job-92 ctx-8903d6b4) 
> (logid:0dbd7888) Failed to migrate volume
> com.cloud.exception.StorageUnavailableException: Resource [StoragePool:8] is 
> unreachable: migrate volume failed: There are snapshots creating on this 
> volume, can not move this volume
> at 
> org.apache.cloudstack.engine.orchestration.VolumeOrchestrator.migrateVolume(VolumeOrchestrator.java:922)
> at 
> com.cloud.storage.VolumeApiServiceImpl.orchestrateMigrateVolume(VolumeApiServiceImpl.java:1826)
> at 
> com.cloud.storage.VolumeApiServiceImpl.orchestrateMigrateVolume(VolumeApiServiceImpl.java:2613)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at 
> com.cloud.vm.VmWorkJobHandlerProxy.handleVmWorkJob(VmWorkJobHandlerProxy.java:107)
> at 
> com.cloud.storage.VolumeApiServiceImpl.handleVmWorkJob(VolumeApiServiceImpl.java:2629)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 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.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.$Proxy185.handleVmWorkJob(Unknown Source)
> at com.cloud.vm.VmWorkJobDispatcher.runJob(VmWorkJobDispatcher.java:103)
> at 
> org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:546)
> 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:497)
> 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)
> 2014-12-04 09:44:25,004 ERROR [c.c.v.VmWorkJobHandlerProxy] 
> (Work-Job-Executor-9:ctx-a4ad7ae7 job-91/job-92 ctx-8903d6b4) 
> (logid:0dbd7888) Invocation exception, caused by: 
> java.lang.NullPointerException
> 2014-12-04 09:44:25,005 INFO [c.c.v.VmWorkJobHandlerProxy] 
> (Work-Job-Executor-9:ctx-a4ad7ae7 job-91/job-92 ctx-8903d6b4) 
> (logid:0dbd7888) Rethrow exception java.lang.NullPointerException
> 2014-12-04 09:44:25,005 DEBUG [c.c.v.VmWorkJobDispatcher] 
> (Work-Job-Executor-9:ctx-a4ad7ae7 job-91/job-92) (logid:0dbd7888) Done with 
> run of VM work job: com.cloud.vm.VmWorkMigrateVolume for VM 12, job origin: 91
> 2014-12-04 09:44:25,005 ERROR [c.c.v.VmWorkJobDispatcher] 
> (Work-Job-Executor-9:ctx-a4ad7ae7 job-91/job-92) (logid:0dbd7888) Unable to 
> complete AsyncJobVO
> {id:92, userId: 2, accountId: 2, instanceType: null, instanceId: null, cmd: 
> com.cloud.vm.VmWorkMigrateVolume, cmdInfo: 
> rO0ABXNyACBjb20uY2xvdWQudm0uVm1Xb3JrTWlncmF0ZVZvbHVtZfgl82-871PmAgADSgAKZGVzdFBvb2xJZFoAC2xpdmVNaWdyYXRlSgAIdm9sdW1lSWR4cgATY29tLmNsb3VkLnZtLlZtV29ya5-ZtlbwJWdrAgAESgAJYWNjb3VudElkSgAGdXNlcklkSgAEdm1JZEwAC2hhbmRsZXJOYW1ldAASTGphdmEvbGFuZy9TdHJpbmc7eHAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAx0ABRWb2x1bWVBcGlTZXJ2aWNlSW1wbAAAAAAAAAAIAAAAAAAAAAAN,
>  cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, result: 
> null, initMsid: 174239019934477, completeMsid: null, lastUpdated: null, 
> lastPolled: null, created: Thu Dec 04 09:44:23 IST 2014}
> , job origin:91
> java.lang.NullPointerException
> at 
> com.cloud.storage.VolumeApiServiceImpl.orchestrateMigrateVolume(VolumeApiServiceImpl.java:2614)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at 
> com.cloud.vm.VmWorkJobHandlerProxy.handleVmWorkJob(VmWorkJobHandlerProxy.java:107)
> at 
> com.cloud.storage.VolumeApiServiceImpl.handleVmWorkJob(VolumeApiServiceImpl.java:2629)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 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.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.$Proxy185.handleVmWorkJob(Unknown Source)
> at com.cloud.vm.VmWorkJobDispatcher.runJob(VmWorkJobDispatcher.java:103)
> at 
> org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:546)
> 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:497)
> 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)
> {noformat}
> Current behavior - NPE is being thrown in the logs and User sees 'Unexpected 
> exception' in the UI.
> Expected behavior - Propagate an appropriate message to the User.



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

Reply via email to