Merge pull request #4800 from overleaf/jpa-object-persistor-fix-404-handling

[object-persistor] handle 404s of the entire delete operation in gcs

GitOrigin-RevId: 41c5e70af069361a21adb53a6166081741666887
This commit is contained in:
Jakob Ackermann 2021-08-18 11:01:57 +02:00 committed by Copybot
parent 91e3f89154
commit 5679ba894b
3 changed files with 7 additions and 10 deletions

View file

@ -1,6 +1,6 @@
{
"name": "@overleaf/object-persistor",
"version": "1.0.0",
"version": "1.0.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View file

@ -1,6 +1,6 @@
{
"name": "@overleaf/object-persistor",
"version": "1.0.0",
"version": "1.0.1",
"description": "Module for storing objects in multiple backends, with fallback on 404 to assist migration between them",
"main": "index.js",
"scripts": {

View file

@ -200,15 +200,12 @@ module.exports = class GcsPersistor extends AbstractPersistor {
if (this.settings.unlockBeforeDelete) {
await file.setMetadata({ eventBasedHold: false })
}
try {
await file.delete()
} catch (err) {
// ignore 404s: it's fine if the file doesn't exist.
if (err.code !== 404) {
throw err
}
}
await file.delete()
} catch (err) {
// ignore 404s: it's fine if the file doesn't exist.
if (err.code === 404) {
return
}
throw PersistorHelper.wrapError(
err,
'error deleting GCS object',