You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was attempting to do a concurrent removal of storage objects when multiple processes delete at the same time - one process deletes a unique storage object and I can guarantee that two processes don't initiate deletion for the same object.
The problem is that it fails due to the StorageObject._gen_attached_luns lookup. When multiple storage objects are being deleted, directories of other storage objects can disappear, and os.listdir throws an exception (not able to find a directory). In my understanding lookup should not care about empty directories and has to ignore them.
My local tests showed that it is the only place that blocks concurrent deletion and catching not found exceptions thrown from os.listdir fixes the problem.
The text was updated successfully, but these errors were encountered:
I was attempting to do a concurrent removal of storage objects when multiple processes delete at the same time - one process deletes a unique storage object and I can guarantee that two processes don't initiate deletion for the same object.
The problem is that it fails due to the
StorageObject._gen_attached_luns
lookup. When multiple storage objects are being deleted, directories of other storage objects can disappear, andos.listdir
throws an exception (not able to find a directory). In my understanding lookup should not care about empty directories and has to ignore them.My local tests showed that it is the only place that blocks concurrent deletion and catching not found exceptions thrown from
os.listdir
fixes the problem.The text was updated successfully, but these errors were encountered: