"Failed to update vSAN storage policy"less /var/log/vmware/vmware-sps/sps.log, shows below,YYYY-MM-DDTHH:MM:SS [pool-4-thread-9] INFO opId= com.vmware.sps.pbm.compliance.ComplianceProviderImpl - Timer stopped: checkCompliance, Time taken: 1547 ms.YYYY-MM-DDTHH:MM:SS [pool-4-thread-9] INFO opId= com.vmware.pbm.compliance.impl.ComplianceManagerImpl - Timer stopped: fetchOrCheckRollupComplianceResult, Time taken: 1740 ms.YYYY-MM-DDTHH:MM:SS [pool-4-thread-9] ERROR opId= com.vmware.pbm.compliance.impl.ComplianceManagerImpl - Exception occured. Entities: [(pbm.ServerObjectRef) { dynamicType = null, dynamicProperty = null, objectType = virtualMachine, key = vm-####, serverUuid = null
...
...
java.lang.IllegalArgumentException: null
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:129) ~[guava-32.1.0-jre.jar:?]
at com.vmware.pbm.compliance.ComplianceUtil.mergeComplianceResultInt(ComplianceUtil.java:595) ~[pbm-1.0.jar:?]
...
...
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_422]
YYYY-MM-DDTHH:MM:SS [pool-4-thread-5] INFO opId= com.vmware.vim.storage.common.task.CustomThreadPoolExecutor - [VLSI] Request took 3811 millis to execute. | Slow run() method execution Alertless /var/log/vmware/vmware-sps/sps.log | grep CustomThreadPoolExecutor | grep VCQUERY, shows queue size has reached 100 as below,YYYY-MM-DDTHH:MM:SS [pool-4-thread-9] INFO opId= com.vmware.vim.storage.common.task.CustomThreadPoolExecutor - [VCQUERY] Active thread count is: 32, queue size: 98YYYY-MM-DDTHH:MM:SS [pool-4-thread-9] INFO opId= com.vmware.vim.storage.common.task.CustomThreadPoolExecutor - [VCQUERY] Active thread count is: 32, queue size: 98YYYY-MM-DDTHH:MM:SS [pool-4-thread-9] INFO opId= com.vmware.vim.storage.common.task.CustomThreadPoolExecutor - [VCQUERY] Active thread count is: 32, queue size: 99YYYY-MM-DDTHH:MM:SS [pool-4-thread-9] INFO opId= com.vmware.vim.storage.common.task.CustomThreadPoolExecutor - [VCQUERY] Active thread count is: 32, queue size: 99YYYY-MM-DDTHH:MM:SS [pool-4-thread-9] INFO opId= com.vmware.vim.storage.common.task.CustomThreadPoolExecutor - [VCQUERY] Active thread count is: 32, queue size: 100vCenter 8.x
Storage policy association for the VM was not set proper when the VM was deployed or configured.
Follow these steps to resolve the issue,
Step 1: Identify the affected VMs
Log in to the vSphere Client.
Navigate to the Hosts and Clusters view.
Select a VM and open the Summary tab.
Check the VM Storage Policies Compliance widget. Note any VMs that are displaying a Non-Compliant status.
Step 2: Migrate the VM to alternate storage
Right-click the affected VM and select Migrate.
Choose Change storage only (Storage vMotion) and select a different datastore. Ensure you select your desired VM storage policy from the dropdown menu during this process.
Note: If your environment only has a single vSAN datastore available, select Change both compute resource and storage instead, and migrate the VM to an entirely different cluster.
Step 3: Verify the initial compliance status
Wait for the relocation task to finish successfully.
Navigate back to the VM's Summary tab.
Verify that the VM Storage Policies Compliance status has updated to Compliant.
Step 4: Restore the VM to its original location
Right-click the VM and select Migrate again.
Move the VM back to its original datastore (and original cluster, if applicable) using the same migration method as Step 2.
Once the task finishes, check the Summary tab one last time to confirm the status remains Compliant.
Step 5: Repeat for remaining VMs
Repeat Steps 2 through 4 for any additional VMs you identified as non-compliant in Step 1.