Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix and improve batch attachment deletion handling when using OpenStack Swift #32637

Merged
merged 7 commits into from
Oct 28, 2024

Conversation

hugogameiro
Copy link
Contributor

@hugogameiro hugogameiro commented Oct 23, 2024

Since v4.3.0 rescue Fog::Storage::OpenStack::NotFound in batch attachment for OpenStack Swift has caused the batch deletion to never finish in the case of attempting to delete a file that is missing.

In debug mode it logs "uninitialized constant Fog::Storage::OpenStack (NameError)".

Changing the class from Fog::Storage::OpenStack::NotFound to the new Fog::OpenStack::Storage::NotFound fixes it.

Also, in this PR I suggest introducing some improvements to how attachment batch deletion is handle for OpenStack Swift:

  • retry 3 times (5 second interval) for temporary object storage failures
  • error logging
  • raise in case of failure after retries

@renchap renchap added the to backport PR needed to be backported label Oct 23, 2024
@renchap renchap requested a review from a team October 23, 2024 13:28
Copy link
Contributor

@oneiros oneiros left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the error class has changed, we need to fix it. Thank you very much for finding all this out.

The proposed changes look good overall, I just left some stylistic remarks. Please have a look when you have the time.

@oneiros oneiros added this pull request to the merge queue Oct 28, 2024
Merged via the queue into mastodon:main with commit b1d3c64 Oct 28, 2024
31 checks passed
rezhajulio added a commit to PegelinuxTop/mastodon that referenced this pull request Nov 10, 2024
* Use `likes` and `shares` totalItems on status creations and updates (mastodon#32620)

* Enhance coverage for `StatusPin` model (mastodon#32515)

* Update rails to version 7.1.4.2 (mastodon#32670)

* Update dependency react-select to v5.8.2 (mastodon#32661)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update DefinitelyTyped types (non-major) (mastodon#32674)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency @formatjs/cli to v6.3.5 (mastodon#32675)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* New Crowdin Translations (automated) (mastodon#32589)

Co-authored-by: GitHub Actions <[email protected]>

* Feat: Implement interaction modal for Polls (mastodon#32609)

* Fix and improve batch attachment deletion handling when using OpenStack Swift (mastodon#32637)

* Mailer header partial access cleanup (mastodon#32585)

* Update babel monorepo to v7.26.0 (mastodon#32659)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Misc gem version bumps (mastodon#32684)

* Use nil for timestamp column in admin/confirmations spec (mastodon#32682)

* Add test coverage for POST /api/v2/media's max description length (mastodon#32683)

* New Crowdin Translations (automated) (mastodon#32687)

Co-authored-by: GitHub Actions <[email protected]>

* Add telemetry for status / bio formatting (mastodon#32677)

* Update dependency fog-core to '<= 2.6.0' (mastodon#32660)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Embed modal mobile fix (mastodon#32641)

* Add `DomainHelpers` spec support module for DNS/MX stub (mastodon#32690)

* Add coverage for `StatusTrend` and `PreviewCardTrend` models, add `locales` class method to `RankedTrend` (mastodon#32688)

* Fix preview cards with long titles erroneously causing layout changes (mastodon#32678)

* Update dependency libvips to v8.16.0 (mastodon#32679)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update workbox monorepo to v7.3.0 (mastodon#32691)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* New Crowdin Translations (automated) (mastodon#32695)

Co-authored-by: GitHub Actions <[email protected]>

* Add userinfo oauth endpoint (mastodon#32548)

* Fix 'unknown' media attachment rendering in detailed view (mastodon#32713)

* Fix IDs not being serialized as strings in annual reports API (mastodon#32710)

* New Crowdin Translations (automated) (mastodon#32708)

Co-authored-by: GitHub Actions <[email protected]>

* Update dependency strong_migrations to v2.0.2 (mastodon#32705)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency selenium-webdriver to v4.26.0 (mastodon#32698)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency core-js to v3.39.0 (mastodon#32707)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency node to v22 (mastodon#32689)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Migrate from the deprecated `azure-storage-blob` to `azure-blob` (mastodon#32080)

Co-authored-by: Renaud Chaput <[email protected]>

* Add model spec for `Tombstone` (mastodon#32697)

* Drop support for ruby 3.1 (mastodon#32363)

* Update `rails-i18n` to version 7.0.10 (mastodon#32719)

* Update `zeitwerk` to version 2.7.1 (mastodon#32723)

* [Glitch] Feat: Implement interaction modal for Polls

Port dc0b194 to glitch-soc

Signed-off-by: Claire <[email protected]>

* [Glitch] Embed modal mobile fix

Port de1d8dc

Signed-off-by: Claire <[email protected]>

* [Glitch] Fix preview cards with long titles erroneously causing layout changes

Port 742eb54 to glitch-soc

Signed-off-by: Claire <[email protected]>

* [Glitch] Fix 'unknown' media attachment rendering in detailed view

Port 01e25af to glitch-soc

Signed-off-by: Claire <[email protected]>

* Fix ruby linting issue

---------

Signed-off-by: Claire <[email protected]>
Co-authored-by: Jonny Saunders <[email protected]>
Co-authored-by: Matt Jankowski <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <[email protected]>
Co-authored-by: Emelia Smith <[email protected]>
Co-authored-by: Hugo Gameiro <[email protected]>
Co-authored-by: David Roetzel <[email protected]>
Co-authored-by: Nathan Sparrow <[email protected]>
Co-authored-by: Claire <[email protected]>
Co-authored-by: Renato "Lond" Cerqueira <[email protected]>
Co-authored-by: Eugen Rochko <[email protected]>
Co-authored-by: Joé Dupuis <[email protected]>
Co-authored-by: Renaud Chaput <[email protected]>
@ClearlyClaire ClearlyClaire removed the to backport PR needed to be backported label Dec 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants