Exporting cost drivers neither triggers a file download nor displays error after upgrading to VCF Operations 9.1 from 8.18.x
search cancel

Exporting cost drivers neither triggers a file download nor displays error after upgrading to VCF Operations 9.1 from 8.18.x

book

Article ID: 455826

calendar_today

Updated On:

Products

VCF Operations

Issue/Introduction

When attempted to export "cost drivers", it neither triggers a file download nor displays error after upgrading to VCF Operations 9.1 from 8.18.x. 

Below log entries are found during the export attempt.

bm-controller-#####.log

YYYY-MM-DDThh:mm:ss.zzzZ ERROR bm-controller 29483 [ops@4413 threadId="329222" threadName="ServerConnection on port 10000 Thread 128" operationId=""] [com.vmware.vcops.businessmgmt.bridge.server.BusinessManagementBridgeTracerAspect.exportCostDrivers_aroundBody109$advice] - Exception while executing function : exportCostDrivers
java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "java.lang.Long.longValue()" because "item.discoveryDate" is null
        at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source)
        at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(Unknown Source)
        at java.base/java.util.concurrent.CompletableFuture.thenCompose(Unknown Source)

 

web.log

 

YYYY-MM-DDThh:mm:ss.zzzZ INFO web 27633 [ops@4413 threadId="136441" threadName="ajp-nio-127.0.0.1-8009-exec-422"] [com.vmware.vcops.ui.util.MainPortalListener.log] - Cannot invoke "com.vmware.vcops.bridge.model.result.ResultDto.getDto()" because the return value of "com.vmware.vcops.businessmgmt.bridge.client.ICostDriver.exportCostDrivers(String)" is null (
Url: /ui/costDriver.action
Params: mainAction=exportCostDrivers
)
java.lang.NullPointerException: Cannot invoke "com.vmware.vcops.bridge.model.result.ResultDto.getDto()" because the return value of "com.vmware.vcops.businessmgmt.bridge.client.ICostDriver.exportCostDrivers(String)" is null
        at com.vmware.vcops.ui.action.CostDriverAction.execute(CostDriverAction.java:608)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

 

Cause

Some of the hosts in the inventory are in powered off during the upgrade. In version 9.1, a new table (cost.serverhardware) was introduced with columns that remain empty until populated during cost calculation.

Because these hosts were powered off, they were excluded from cost calculation, leaving those columns null and causing a NullPointerException (NPE) during export.

Resolution

Resolving this issue requires manual modification of the VCF Ops Server PostgreSQL database.

To resolve this issue, contact Broadcom Support and reference this Knowledge Base article.