New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request to enhance plugin with Timeout #2922
Comments
Which plugin type are you referring to? VolumeSnapshotter? |
Yes, we use VMWare VolumeSnapshotter for First Class Disk (FCD) PV. |
We also plan to use BackupItem plugin in the near future. |
I propose we enhance the BackupItemActionPlugin struct to contain a timeout (in seconds) and enhance BackupItemActionGRPCClient.Execute as following: ctx, cancel := context.WithCancel(context.Background()) ch := make(chan Response, 1) go func() { select { |
This may also be relevant to #2867 |
The Restore datapath is much more complicated because of behavior described in that #2867 I think we should consider it separately. This should focus on the Backup datapath. |
I hold off this one until the plugin versioning is done. We now will first implement adding context into plugin interface using plugin versioning design (by @zubron) then enhance the Backup with the timeout. |
@phuongatemc Ah, I see, thanks for the added context. That sounds like a good plan. |
For App Consistent backup, the database application pod will be quiesce during the time Velero execute plugin (on PVC) to make snapshot of the PVC. If for some reason, the plugin takes a long time to finish (i.e. fail to create snapshot and retry, network failure), the application pod will be in quiesce state which will block user from using the application. This is undesirable condition.
We would like to enhance the plugin to have a timeout so that the plugin will fail if it takes more than specified timeout to execute.
The text was updated successfully, but these errors were encountered: