/storage/log/vcops/log/bm-controller.log:ERROR bm-controller 33515 [ops@4413 threadId="1203767" threadName="ServerConnection on port 10000 Thread 328" operationId="########################"] [com.vmware.vcops.businessmgmt.bridge.server.BusinessManagementBridgeTracerAspect.getServerHardware_aroundBody7$advice] - Exception while executing function : getServerHardware java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "java.lang.Double.doubleValue()" because "rate" is null com.vmware.vrbc.reference.library.services.server.ServerHardwareGroupService.lambda$applyServerHardwareCurrency$10(ServerHardwareGroupService.java:110) com.vmware.vrbc.reference.library.services.server.ServerHardwareGroupService.applyServerHardwareCurrency(ServerHardwareGroupService.java:128) at com.vmware.vrbc.reference.library.services.server.ServerHardwareGroupService.lambda$getPaginatedServerDetails$18(ServerHardwareGroupService.java:173Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Double.doubleValue()" because "rate" is null com.vmware.vrbc.reference.library.services.server.ServerHardwareGroupService.lambda$applyServerHardwareCurrency$7(ServerHardwareGroupService.java:111) ... 23 moreVCF Operation 9.1
This issue is caused by a known issue in currency-conversion that triggers a crash when two simultaneous conditions are met:
The server's stored currency is out of sync with the current Operations currency setting.
The monthlyCost value for the server is missing.
These conditions originate from pre-existing data gaps, specifically because currency changes do not automatically update older records, and a previous database migration left certain cost values blank.
Broadcom Engineering is aware of this issue and a fix will be included in a future release.
In the interim, you can use the following database cleanup procedure to address the NULL entries.
su - postgres /opt/vmware/vpostgres/current/bin/psql -d vcopsdb -p 5433
DELETE FROM cost.serverhardware;