Closed SnelsSM closed 1 year ago
Plugins don't do any locking, that is handled outside of the plugins by the "pve core", and the error message shown (trying to acquire cfs lock
) comes from outside the plugin. As the first action did not finish yet, the second timed out (while getting some lock) before it even started. The key is: it all happens outside of the plugin and I would not be aware how we as plugin could tell "the core" that we can handle concurrency and/or want to do our own locking. I'd assume that concurrency is not really part of how they do things, they serialize actions (per plugin type?, per storage.cfg
definition?). And if one thing takes "too long" (for what ever definition of "too long" they have), then that is what you get.
I really don't see any chance to improve things on our side, so cosing this, sorry.
Yes, I understand that locks from PVE. But this doesn't happen with any other storages (lvm/lvm-thin, ceph rbd, nfs, cifs... I can't check others)
This behavior makes Linstor unsuitable for PVE clusters with a lot of concurrent activity (batch VM creation for example).
Hi! When I try to perform more than one concurrent action (moving a disk, cloning a VM...), only one action will be successful. Other actions fails with "error: got lock request timeout".
For example, clone a template twice at the same time. First VM Second VM
If the second virtual machine is cloned after the "Attempting to create disk resource" state of the first virtual machine completes, the second virtual machine will be cloned successfully.
How can I fix it?
PVE Components
Linstor Components