> On April 23, 2014, 8:10 a.m., Rajesh Battala wrote: > > server/src/com/cloud/api/ApiResponseHelper.java, line 3350 > > <https://reviews.apache.org/r/20557/diff/1/?file=564547#file564547line3350> > > > > There are tabs/whitespace characters introduced > > Please add what are the tests you have executed/verified.
Hi Rajesh, Sorry about the whitespace. As for the reproduction steps, they are documented in https://issues.apache.org/jira/browse/CLOUDSTACK-6472, I'll reproduce here: 1. Wait for cloud-usage to generate records for a running vm. 2. Delete the VM and wait for it to be in 'Expunged' state, it will have a non-null 'removed' field in the vm_instance table 3. Issue the listUsageRecords API command, it will fail and log a stack trace to the management-server log The stack-trace that appears is as follows: 2014-04-22 00:18:07,417 ERROR [cloud.api.ApiServer] (catalina-exec-2:ctx-60c87510 ctx-22de212f ctx-a88a3dd7) unhandled exception executing api command: listUsageRecords java.lang.NullPointerException at com.cloud.api.ApiResponseHelper.createUsageResponse(ApiResponseHelper.java:3308) at org.apache.cloudstack.api.command.admin.usage.GetUsageRecordsCmd.execute(GetUsageRecordsCmd.java:119) at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:161) at com.cloud.api.ApiServer.queueCommand(ApiServer.java:531) at com.cloud.api.ApiServer.handleRequest(ApiServer.java:374) at com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:323) at com.cloud.api.ApiServlet.access$000(ApiServlet.java:53) at com.cloud.api.ApiServlet$1.run(ApiServlet.java:115) 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:112) at com.cloud.api.ApiServlet.doGet(ApiServlet.java:74) 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:615) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:647) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:744) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2282) 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:744) To fix, apply the above patch, listUsageRecords will now correctly honor the request - Pierre-Yves ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/20557/#review41128 ----------------------------------------------------------- On April 23, 2014, 12:47 p.m., Pierre-Yves Ritschard wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/20557/ > ----------------------------------------------------------- > > (Updated April 23, 2014, 12:47 p.m.) > > > Review request for cloudstack. > > > Bugs: CLOUDSTACK-6472 > https://issues.apache.org/jira/browse/CLOUDSTACK-6472 > > > Repository: cloudstack-git > > > Description > ------- > > This is a review request for CLOUDSTACK-6472 "listUsageRecords generates NPEs > for expunging instances" > > The patch is against the 4.3 branch > > > Diffs > ----- > > server/src/com/cloud/api/ApiResponseHelper.java e543d1c > > Diff: https://reviews.apache.org/r/20557/diff/ > > > Testing > ------- > > > Thanks, > > Pierre-Yves Ritschard > >