Kaynağa Gözat

Merge pull request #13256 from overleaf/csh-issue-13004-max-retries

Increase the maximum retries for the delete-old-history-chunks cron job

GitOrigin-RevId: 8054ac76bbae24d0a3ba032c50c9647c044aef27
Christopher Hoskin 3 yıl önce
ebeveyn
işleme
cbaf1c3556

+ 8 - 1
libraries/object-persistor/src/GcsPersistor.js

@@ -15,7 +15,14 @@ module.exports = class GcsPersistor extends AbstractPersistor {
 
     // endpoint settings will be null by default except for tests
     // that's OK - GCS uses the locally-configured service account by default
-    this.storage = new Storage(this.settings.endpoint)
+    const storageOptions = {}
+    if (this.settings.endpoint) {
+      storageOptions.projectId = this.settings.endpoint.projectId
+      storageOptions.apiEndpoint = this.settings.endpoint.apiEndpoint
+    }
+    storageOptions.retryOptions = this.settings.retryOptions
+
+    this.storage = new Storage(storageOptions)
   }
 
   async sendFile(bucketName, key, fsPath) {

+ 3 - 0
services/history-v1/config/custom-environment-variables.json

@@ -19,6 +19,9 @@
       "endpoint": {
         "apiEndpoint": "GCS_API_ENDPOINT",
         "projectId": "GCS_PROJECT_ID"
+      },
+      "retryOptions": {
+        "maxRetries": "GCS_MAX_RETRIES"
       }
     },
     "fallback": {

+ 1 - 0
services/history-v1/storage/lib/persistor.js

@@ -19,6 +19,7 @@ convertKey('gcs.unlockBeforeDelete', s => s === 'true')
 convertKey('gcs.unsignedUrls', s => s === 'true')
 convertKey('gcs.signedUrlExpiryInMs', s => parseInt(s, 10))
 convertKey('gcs.deleteConcurrency', s => parseInt(s, 10))
+convertKey('gcs.retryOptions.maxRetries', s => parseInt(s, 10))
 convertKey('fallback.buckets', s => JSON.parse(s || '{}'))
 
 persistorConfig.Metrics = metrics