catstodon/app/models/concerns
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
2021-06-02 17:41:25 +02:00
..
account_associations.rb Add cold-start follow recommendations (#15945) 2021-04-12 12:37:14 +02:00
account_avatar.rb Fix to be able to redownload avatar and header (#16190) 2021-05-11 14:19:22 +02:00
account_counters.rb Fix account deletion sometimes failing because of optimistic locks (#16317) 2021-06-02 17:41:25 +02:00
account_finder_concern.rb Create instance actor if it hasn't been properly seeded (#15693) 2021-02-09 18:12:54 +01:00
account_header.rb Fix to be able to redownload avatar and header (#16190) 2021-05-11 14:19:22 +02:00
account_interactions.rb Fix empty home feed before first follow has finished processing (#16152) 2021-05-04 04:45:08 +02:00
account_merging.rb Update fix-duplicates maintenance script to support latest migrations (#16231) 2021-05-12 23:19:44 +02:00
attachmentable.rb Fix remote files not using Content-Type header, streaming (#14184) 2020-06-30 23:58:02 +02:00
cacheable.rb Fix cache_associated no longer working (#7320) 2018-05-03 10:41:41 +02:00
domain_materializable.rb Fix performance on instances list in admin UI (#15282) 2020-12-14 09:06:34 +01:00
domain_normalizable.rb Fix admin page crashing when trying to block an invalid domain name (#13884) 2020-06-01 03:47:20 +02:00
expireable.rb Fix not being able to change world filter expiration back to “Never” (#15858) 2021-03-12 05:25:50 +01:00
follow_limitable.rb Fix being able to import more than allowed number of follows (#15384) 2020-12-26 23:52:46 +01:00
ldap_authenticable.rb Add an LDAP Mail attribute config (#12053) 2019-12-01 18:52:21 +01:00
omniauthable.rb WIP (#15222) 2021-03-19 17:15:36 +01:00
paginable.rb allow pagination by min_id and max_id (#14776) 2020-09-12 17:09:49 +02:00
pam_authenticable.rb Fix LDAP/PAM/SAML/CAS users not being approved instantly (#10621) 2019-04-25 02:49:25 +02:00
rate_limitable.rb Add specific rate limits for posting and following (#13172) 2020-03-08 15:17:39 +01:00
redisable.rb Create Redisable#redis (#9633) 2019-02-02 19:11:38 +01:00
relationship_cacheable.rb Cache relationships in API (#6482) 2018-02-18 03:14:46 +01:00
remotable.rb Fix to be able to redownload avatar and header (#16190) 2021-05-11 14:19:22 +02:00
status_threading_concern.rb Optimize map { ... }.compact calls (#15513) 2021-01-10 00:32:01 +01:00
user_roles.rb Add moderation API (#9387) 2019-06-20 02:52:34 +02:00