Unverified Commit fc8594ae authored by mvdbeek's avatar mvdbeek
Browse files

Avoid race condition in disk object store delete

Fixes
https://sentry.galaxyproject.org/share/issue/f48a997e238e46519b67d455ac9bf8bd/:
```
/corral4/main/objects/b/e/1/dataset_be145ee3-580b-48c3-8a40-e55929d3bb81.dat delete error [Errno 2] No such file or directory: '/corral4/main/objects/b/e/1/dataset_be145ee3-580b-48c3-8a40-e55929d3bb81.dat'
```
parent 881ed5c7
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -653,9 +653,11 @@ class DiskObjectStore(ConcreteObjectStore):
            if entire_dir and (extra_dir or obj_dir):
                shutil.rmtree(path)
                return True
            if self._exists(obj, **kwargs):
            os.remove(path)
            return True
        except FileNotFoundError:
            # Absolutely possible that a delete request races, but that's "fine".
            return True
        except OSError as ex:
            log.critical(f"{self.__get_filename(obj, **kwargs)} delete error {ex}")
        return False