[ https://issues.apache.org/jira/browse/CLOUDSTACK-6831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rajesh Battala reassigned CLOUDSTACK-6831: ------------------------------------------ Assignee: Rajesh Battala > [Hyper-V] Improve the logging for VM snapshot failures as it is not > supported. Right now it is throwing NPEs > ------------------------------------------------------------------------------------------------------------ > > Key: CLOUDSTACK-6831 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6831 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Management Server > Affects Versions: 4.4.0 > Environment: HyperV > Reporter: Abhinav Roy > Assignee: Rajesh Battala > Fix For: 4.4.0 > > > Steps : > ================ > 1. Deploy a advanced zone hyperv setup. > 2. Create a VM v1. > 3. Create a VM snapshot on v1 > Expected behavior : > ================ > Since VM snapshot is not supported in 4.4.0 for HyperV, the operation should > fail gracefully with appropriate error message. > Observed behavior : > =============== > VM snapshot operation fails with a NPE > 2014-06-03 15:21:25,150 DEBUG [c.c.a.ApiServlet] > (catalina-exec-7:ctx-8ce4a754) ===START=== 10.144.7.13 -- GET > command=createVMSnapshot&virtualmachineid=fb624f96-c70f-4e25-94a0-65f9daf145aa&snapshotmemory=false&quiescevm=false&name=ss&response=json&sessionkey=o%2F8Vw1YoKZS4JAca7rkI3sCMSDs%3D&_=1401788814498 > 2014-06-03 15:21:25,168 ERROR [c.c.a.ApiServer] (catalina-exec-7:ctx-8ce4a754 > ctx-ce4443a6) unhandled exception executing api command: > [Ljava.lang.String;@7cfb6b51 > java.lang.NullPointerException > at > com.cloud.hypervisor.dao.HypervisorCapabilitiesDaoImpl.isVmSnapshotEnabled(HypervisorCapabilitiesDaoImpl.java:104) > 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:601) > 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 > com.cloud.utils.db.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:34) > 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 $Proxy179.isVmSnapshotEnabled(Unknown Source) > at > com.cloud.vm.snapshot.VMSnapshotManagerImpl.allocVMSnapshot(VMSnapshotManagerImpl.java:265) > 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:601) > 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 $Proxy182.allocVMSnapshot(Unknown Source) > at > org.apache.cloudstack.api.command.user.vmsnapshot.CreateVMSnapshotCmd.create(CreateVMSnapshotCmd.java:92) > at > com.cloud.api.dispatch.CommandCreationWorker.handle(CommandCreationWorker.java:47) > at > com.cloud.api.dispatch.DispatchChain.dispatch(DispatchChain.java:37) > at > com.cloud.api.ApiDispatcher.dispatchCreateCmd(ApiDispatcher.java:79) > at com.cloud.api.ApiServer.queueCommand(ApiServer.java:614) > at com.cloud.api.ApiServer.handleRequest(ApiServer.java:506) > at > com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:330) > at com.cloud.api.ApiServlet.access$000(ApiServlet.java:54) > at com.cloud.api.ApiServlet$1.run(ApiServlet.java:118) > 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 com.cloud.api.ApiServlet.processRequest(ApiServlet.java:115) > at com.cloud.api.ApiServlet.doGet(ApiServlet.java:77) > 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:2266) > 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:722) > 2014-06-03 15:21:25,174 DEBUG [c.c.a.ApiServlet] > (catalina-exec-7:ctx-8ce4a754 ctx-ce4443a6) ===END=== 10.144.7.13 -- GET > command=createVMSnapshot&virtualmachineid=fb624f96-c70f-4e25-94a0-65f9daf145aa&snapshotmemory=false&quiescevm=false&name=ss&response=json&sessionkey=o%2F8Vw1YoKZS4JAca7rkI3sCMSDs%3D&_=1401788814498 -- This message was sent by Atlassian JIRA (v6.2#6252)