[ https://issues.apache.org/jira/browse/CLOUDSTACK-6472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13977942#comment-13977942 ]
Pierre-Yves Ritschard commented on CLOUDSTACK-6472: --------------------------------------------------- To reproduce: 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 GenerateUsageRecords API command, it will fail and log a stack trace to the management-server log > GenerateUsageRecords generates NPEs for expunging instances > ----------------------------------------------------------- > > Key: CLOUDSTACK-6472 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6472 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Management Server, Usage > Affects Versions: 4.3.0 > Environment: linux > Reporter: Pierre-Yves Ritschard > Attachments: 0001-handle-removed-entities.patch > > > The GenerateUsageRecords API command, pulls down the list of usage records in > the cloud_usage database and augments records with information pulled from > the cloud database. > When dealing with instance records, only instances which are do not have a > value for the removed field are considered. Unfortunately, since the output > of _entityMgr.findById is not checked this means that Null Pointer Exceptions > are generated when trying to access the output for expunged VMs. > The attached patch fixes the issue and applies a similar fix for other > similar cases. -- This message was sent by Atlassian JIRA (v6.2#6252)