UI shows "Calculation completed on x out of x DCs (failed y)" where x and y are numbers.
You will see similar errors in bm-controller.log:
ERROR [ForkJoinPool.commonPool-worker-xx] com.vmware.vrbc.vrops.costengine.CostEngineServiceFunction - CostEngineServiceFunction processing failed for 'CostCalculationRequest(localDateTime=yyyy-mm-ddThh:mm:ss.441, cspOrgId=null, defaultCCRun=false, timeInMillis=1707944408441, endpointLink=xxxx, onBoardingFlow=false, fixedCostRatioRequest=false, utilizationBasedCostRequest=true, mtdCostEnabled=false, weightedCost=null, dCLevelReflibCosts=null, dcLevelWeightedCost=null, vcUuid=xxxx, orgLink=VROPS, loadNo=1, vcName=null, originalOrgLink=null, qualifierIdMap=
{STORAGE=, SERVER_HARDWARE_HCI=, MAINTENANCE=, NETWORK=, FACILITIES=, SERVER_HARDWARE=, LICENSE=, LABOR=}
, pricingEnabled=false, cloudType=PRIVATE, vmcBillingEnabled=false)' due to java.lang.NumberFormatException: For input string: "null"
java.util.concurrent.CompletionException: java.lang.NumberFormatException: For input string: "null"
at java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) ~[?:?]
Caused by: java.lang.NumberFormatException: For input string: "null"
at java.lang.NumberFormatException.forInputString(Unknown Source) ~[?:?]
at java.lang.Long.parseLong(Unknown Source) ~[?:?]
at java.lang.Long.valueOf(Unknown Source) ~[?:?]
at com.vmware.vrbc.vrops.datasource.VropsModelAccessorImpl.publishMetricsWithDeletionCheck(VropsModelAccessorImpl.java:475) ~[?:?]
at com.vmware.vrbc.vrops.datasource.VropsModelAccessorImpl.lambda$saveMetricsInBatches$5(VropsModelAccessorImpl.java:411) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:?]
at com.vmware.vrbc.vrops.datasource.VropsModelAccessorImpl.saveMetricsInBatches(VropsModelAccessorImpl.java:464) ~[?:?]
at com.vmware.vrbc.costengine.costcalculation.ThreadedCostCalculationImpl.saveAllCosts(ThreadedCostCalculationImpl.java:134) ~[?:?]
at com.vmware.vrbc.costengine.costcalculation.ThreadedCostCalculationImpl.lambda$calculate$3(ThreadedCostCalculationImpl.java:83) ~[?:?]
... 10 more
This issue is occurring due to presence of deleted VM(s) in the affected DCs due to which one of the corner scenarios is not handled.
It is a known issue and will be fixed in future releases.