mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-05 23:47:50 +00:00
We should always load the newest version of the volume from APIserver before processing it. When PersistentVolumeProvisionerController.reconcileVolume() is called with the same volume in short succession (e.g. the volume is created by a provisioner and at the same time periodic check of all volumes is scheduled), the second reconcileVolume() call gets an old copy of the volume as its parameter and it does not see annotations updated by the previous call. This may result in one volume being provisioned several times, creating orphan volumes in the cloud. The same error is in PersistentVolumeClaimBinder.syncVolume().