You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastodon/app/models
Claire 526332c545
Fix account deletion sometimes failing because of optimistic locks (#16317)
* Fix account deletion sometimes failing because of optimistic locks

In some rare occasions[1], deleting accounts would fail with a
`StaleObjectError` exception.

Indeed, account deletion manually sets the `AccountStat` values without
handling cases where the optimistic locking on `AccountStat` would fail.

To my knowledge, with the rewrite of account counters in #15913, the
`DeleteAccountService` is now the only place that changes the counters in
a way that is not atomic.

Since in this specific case, we do not care about the previous values of the
account counters, it appears we don't need locking at all for this table
anymore.

[1]: https://discourse.joinmastodon.org/t/account-cant-be-deleted/3602

* Bump MAX_SUPPORTED_VERSION in maintenance script
4 years ago
..
account_suggestions Change auto-following admin-selected accounts, show in recommendations (#16078) 4 years ago
admin Add management of delivery availability in Federation settings (#15771) 4 years ago
concerns Fix account deletion sometimes failing because of optimistic locks (#16317) 4 years ago
form Change auto-following admin-selected accounts, show in recommendations (#16078) 4 years ago
web Add `policy` param to `POST /api/v1/push/subscriptions` (#16040) 4 years ago
account.rb Remove PubSubHubbub-related columns from accounts table (#16170) 4 years ago
account_alias.rb Remove dependency on goldfinger gem (#14919) 4 years ago
account_conversation.rb allow pagination by min_id and max_id (#14776) 4 years ago
account_deletion_request.rb Change account suspensions to be reversible by default (#14726) 4 years ago
account_domain_block.rb Fix crash when saving invalid domain name (#11528) 5 years ago
account_filter.rb Fix admins being able to suspend their instance actor (#14567) 4 years ago
account_identity_proof.rb
account_migration.rb Fix race conditions on account migration creation (#15597) 4 years ago
account_moderation_note.rb
account_note.rb Add user notes on accounts (#14148) 5 years ago
account_pin.rb
account_stat.rb Fix account deletion sometimes failing because of optimistic locks (#16317) 4 years ago
account_suggestions.rb Change auto-following admin-selected accounts, show in recommendations (#16078) 4 years ago
account_summary.rb Fix FollowRecommendationsScheduler failing because of unpopulated views (#16189) 4 years ago
account_warning.rb Add account sensitized (#14361) 4 years ago
account_warning_preset.rb Add titles to warning presets in admin UI (#13252) 5 years ago
admin.rb
announcement.rb Change order of announcements in admin page to sort them newest-first (#15091) 4 years ago
announcement_filter.rb Add announcements (#12662) 5 years ago
announcement_mute.rb Add announcements (#12662) 5 years ago
announcement_reaction.rb Add announcements (#12662) 5 years ago
application_record.rb Fix records not being indexed sometimes (#12024) 5 years ago
backup.rb Add announcements (#12662) 5 years ago
block.rb
bookmark.rb Add announcements (#12662) 5 years ago
canonical_email_block.rb Add canonical e-mail blocks for suspended accounts (#16049) 4 years ago
context.rb
conversation.rb Revert "Remove conversation URI (#11423)" (#11424) 6 years ago
conversation_mute.rb
custom_emoji.rb Add separate cache directory for non-local uploads (#12821) 5 years ago
custom_emoji_category.rb Add batch actions and categories to admin UI for custom emojis (#11793) 5 years ago
custom_emoji_filter.rb Various fixes and improvements (#12878) 5 years ago
custom_filter.rb Optimize map { ... }.compact calls (#15513) 4 years ago
device.rb Add E2EE API (#13820) 5 years ago
domain_allow.rb Fix performance on instances list in admin UI (#15282) 4 years ago
domain_block.rb Add option to obfuscate domain name in public list of domain blocks (#15355) 4 years ago
email_domain_block.rb Add option to include resolved DNS records when blacklisting e-mail domains in admin UI (#13254) 5 years ago
encrypted_message.rb Change Redis#exists calls to Redis#exists? to avoid deprecation warning (#14191) 5 years ago
export.rb Add import/export feature for bookmarks (#14956) 4 years ago
favourite.rb Fix unnecessary queries when batch-removing statuses, 100x faster (#15387) 4 years ago
featured_tag.rb Fix featured tags not finding the right tag on save (#11504) 6 years ago
feed.rb allow pagination by min_id and max_id (#14776) 4 years ago
follow.rb Fix being able to import more than allowed number of follows (#15384) 4 years ago
follow_recommendation.rb Fix FollowRecommendationsScheduler failing because of unpopulated views (#16189) 4 years ago
follow_recommendation_filter.rb Add cold-start follow recommendations (#15945) 4 years ago
follow_recommendation_suppression.rb Add cold-start follow recommendations (#15945) 4 years ago
follow_request.rb Fix edge case where accepted follow cannot be processed because of follow limit (#16098) 4 years ago
home_feed.rb Fix rubocop config and warnings (#15503) 4 years ago
identity.rb
import.rb Fix follow limit preventing re-following of a moved account (#14207) 4 years ago
instance.rb Add management of delivery availability in Federation settings (#15771) 4 years ago
instance_filter.rb Add management of delivery availability in Federation settings (#15771) 4 years ago
invite.rb Change account suspensions to be reversible by default (#14726) 4 years ago
invite_filter.rb Various fixes and improvements (#12878) 5 years ago
ip_block.rb Add IP-based rules (#14963) 4 years ago
list.rb Improve account deletion performances further (#15407) 4 years ago
list_account.rb Add abilityto add oneself to lists (#12271) 5 years ago
list_feed.rb Fix rubocop config and warnings (#15503) 4 years ago
marker.rb Add timeline read markers API (#11762) 5 years ago
media_attachment.rb Fix media processing getting stuck on too much stdin/stderr (#16136) 4 years ago
mention.rb
message_franking.rb Add E2EE API (#13820) 5 years ago
mute.rb Add duration parameter to muting. (#13831) 4 years ago
notification.rb Prepare Mastodon for Rails 6 (#15911) 4 years ago
one_time_key.rb Add E2EE API (#13820) 5 years ago
poll.rb Fix rubocop config and warnings (#15503) 4 years ago
poll_vote.rb
preview_card.rb Bump rubocop from 0.86.0 to 0.88.0 (#14412) 4 years ago
public_feed.rb Fix rubocop config and warnings (#15503) 4 years ago
relationship_filter.rb Fix followings list order | Issue #13538 (#13676) 5 years ago
relay.rb Fix enable/disable relay failures (#13535) 5 years ago
remote_follow.rb Remove dependency on goldfinger gem (#14919) 4 years ago
report.rb Update Mastodon to Rails 6.1 (#15910) 4 years ago
report_filter.rb Various fixes and improvements (#12878) 5 years ago
report_note.rb
rule.rb Add server rules (#15769) 4 years ago
scheduled_status.rb
search.rb
session_activation.rb Add Ruby 3.0 support (#16046) 4 years ago
setting.rb Use Rails' index_by where it makes sense (#15542) 4 years ago
site_upload.rb
status.rb Fix nil error when removing status caused by race condition (#16099) 4 years ago
status_pin.rb
status_stat.rb
system_key.rb Add E2EE API (#13820) 5 years ago
tag.rb Change trending hashtags to be affected be reblogs (#16164) 4 years ago
tag_feed.rb Fix rubocop config and warnings (#15503) 4 years ago
tag_filter.rb Change trending hashtags to be affected be reblogs (#16164) 4 years ago
tombstone.rb Record deleted(by mod) status to prevent re-appear (#10732) 6 years ago
trending_tags.rb Change trending hashtags to be affected be reblogs (#16164) 4 years ago
unavailable_domain.rb Fix performance on instances list in admin UI (#15282) 4 years ago
user.rb Add Ruby 3.0 support (#16046) 4 years ago
user_invite_request.rb
web.rb
webauthn_credential.rb Fix validates :sign_count of WebauthnCredential (#14806) 4 years ago