FIX: Prevent "uploads are missing in S3" alerts after restoring a backup

After restoring a backup it takes up to 48 hours for uploads stored on S3 to appear in the S3 inventory. This change prevents alerts about missing uploads by preventing the EnsureS3UploadsExistence job from running in the first 48 hours after a restore. During the restore it  deletes the count of missing uploads from the PluginStore, so that an alert isn't triggered by an old number.
This commit is contained in:
Gerhard Schlager
2020-09-10 21:37:42 +02:00
parent ba2f3119c0
commit ac70c48be4
6 changed files with 75 additions and 23 deletions

View File

@@ -6,6 +6,16 @@ class BackupMetadata < ActiveRecord::Base
def self.value_for(name)
where(name: name).pluck_first(:value).presence
end
def self.last_restore_date
value = value_for(LAST_RESTORE_DATE)
value.present? ? Time.zone.parse(value) : nil
end
def self.update_last_restore_date(time = Time.zone.now)
BackupMetadata.where(name: LAST_RESTORE_DATE).delete_all
BackupMetadata.create!(name: LAST_RESTORE_DATE, value: time.iso8601)
end
end
# == Schema Information