Cannot complete the operation because the file or folder /vmfs/volumes/xxxxxxxxxxx-checkpoint.vmdk already exists
search cancel

Cannot complete the operation because the file or folder /vmfs/volumes/xxxxxxxxxxx-checkpoint.vmdk already exists

book

Article ID: 367531

calendar_today

Updated On:

Products

VMware vSphere ESX 6.x VMware

Issue/Introduction

Unable to refresh the VDI's from Horizon View. On vCenter server Events and Tasks we see the error : Cannot complete the operation because the file or folder /vmfs/volumes/xxxxxxxxxxx-checkpoint.vmdk already exists

 

Impact:  Unable to refresh the VDI's from Horizon View. 

Resolution

Resolution:
The following has been added to ESXi 7.0 update 1 and higher.

There is now a  configurable timeout for the attribute cache, Please see the below sample commands which can be initiated from an ESXi shell prompt:

NFSv3:
[:~] esxcfg-advcfg -g /NFS/AttrCacheTimeout
Value of NFSAttrCacheTimeout is 60

[:~] esxcfg-advcfg -s 5 /NFS/AttrCacheTimeout
Value of NFSAttrCacheTimeout is 5

NFSv4.1
[:~] esxcfg-advcfg -g /NFS41/AttrCacheTimeout
Value of NFS41AttrCacheTimeout is 60
[:~] esxcfg-advcfg -s 5 /NFS41/AttrCacheTimeout
Value of NFS41AttrCacheTimeout is 5

Notes:
  • The commands will persist the value across reboots, so this would be a one-time setup but needs to be performed on each host in the impacted cluster.
  •  The value for the timeout can be further reduced if needed, with 1 second being the minimum. This would be based on your individual experience and setup. We would recommend starting with 5 seconds and assessing.
Workaround
For known issues/articles which do not have a resolution, add workaround information in this section.
Disable DNLC on all the ESXi hosts. 
  • Login to the ESXi hosts via SSH and execute the following command : vsish -e set /vmkModules/nfsclient/mnt/<nfsvolume>/properties enableDnlc 0

Few important things to note : 
   1. The command needs to be fired on all the host(s) where the same NFS share is mounted
   2. The effect of the command will only last until a remount (or reboot of the host). In case of a remount or host reboot, the
      command needs to be issued again. You can refer to 
https://kb.vmware.com/s/article/2043564 to execute DNLC disable commands at every ESXi boot. 
   3. Please be aware of the fact that there will be a performance drop in lookup, since all lookups will be sent to the server.
      Also this will cause an increase in the number of NFS packets sent over the networ