mastodon/app/services
Claire 9a19227f17
Fix some RedisLocks auto-releasing too fast (#16276)
* Fix Delete and Create-related locks expiring too fast

Fixes #16238

By default, RedisLock expires after 10 seconds, which may not be enough to
process statuses, especially when those have attached media files.

This commit extends those 10 seconds to 15 minutes, which should be plenty
enough to handle any status, while being short enough to not waste many
sidekiq job retries in the exceedingly rare case in which a sidekiq process
would crash when processing a `Create` or `Delete`.

* Fix other RedisLock autorelease durations

Fixes #15645

- things that only perform a few simple database queries (e.g. finding and
  saving a record) have been left unchanged, so they'll still use the default
  10s duration
- things that perform significantly more complex database queries have been
  changed to a 5 minutes timeout
- things that perform multiple HTTP queries have been changed to a 15 minutes
  timeout
2021-05-19 23:52:08 +02:00
..
activitypub Fix some RedisLocks auto-releasing too fast (#16276) 2021-05-19 23:52:08 +02:00
concerns Fix activity not being signed (#13948) 2020-06-03 08:33:30 +02:00
keys Fix rubocop config and warnings (#15503) 2021-01-07 09:40:55 +01:00
account_search_service.rb Optimize some regex matching (#15528) 2021-01-22 10:09:08 +01:00
after_block_domain_from_account_service.rb Fix account domain block not properly unfollowing accounts from domain (#14304) 2020-07-13 19:33:10 +02:00
after_block_service.rb Fix blocking someone not clearing up list feeds (#16205) 2021-05-10 17:31:55 +02:00
after_unallow_domain_service.rb Change account suspensions to be reversible by default (#14726) 2020-09-15 14:37:58 +02:00
app_sign_up_service.rb Add IP-based rules (#14963) 2020-10-12 16:33:49 +02:00
authorize_follow_service.rb
backup_service.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
base_service.rb
batched_remove_status_service.rb Fix undefined method error when batch-removing statuses with ElasticSearch on (#15421) 2020-12-24 15:53:26 +01:00
block_domain_service.rb Add support for reversible suspensions through ActivityPub (#14989) 2020-11-08 00:28:39 +01:00
block_service.rb
bootstrap_timeline_service.rb Change auto-following admin-selected accounts, show in recommendations (#16078) 2021-04-24 17:01:43 +02:00
clear_domain_media_service.rb Make domain block/silence/reject-media code more robust (#13424) 2020-06-09 10:32:00 +02:00
delete_account_service.rb Update Mastodon to Rails 6.1 (#15910) 2021-03-24 10:44:31 +01:00
deliver_to_device_service.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
fan_out_on_write_service.rb Fix DMs not appearing into timelines (#15182) 2020-11-19 00:23:46 +01:00
favourite_service.rb Add option to be notified when a followed user posts (#13546) 2020-09-18 17:26:45 +02:00
fetch_link_card_service.rb Fix some RedisLocks auto-releasing too fast (#16276) 2021-05-19 23:52:08 +02:00
fetch_oembed_service.rb Fix YouTube embeds failing due to YouTube serving wrong OEmbed URLs (#15716) 2021-02-12 05:45:38 +01:00
fetch_remote_status_service.rb Fix an error when ActivityPub::FetchRemoteStatusService url is called with nil (#12652) 2019-12-18 16:54:03 +01:00
fetch_resource_service.rb Fix not being able to resolve public resources in development environment (#13505) 2020-04-25 22:01:08 +02:00
follow_service.rb Fix empty home feed before first follow has finished processing (#16152) 2021-05-04 04:45:08 +02:00
import_service.rb Update Mastodon to Rails 6.1 (#15910) 2021-03-24 10:44:31 +01:00
move_service.rb Fix account migration not affecting followers on origin server (#11980) 2019-09-29 16:23:13 +02:00
mute_service.rb Add duration parameter to muting. (#13831) 2020-10-13 01:01:14 +02:00
notify_service.rb Add option to be notified when a followed user posts (#13546) 2020-09-18 17:26:45 +02:00
post_status_service.rb Fix media not being marked sensitive when client sets a CW but no text (#13277) 2020-03-25 22:40:58 +01:00
precompute_feed_service.rb Refactor feed manager (#14761) 2020-09-08 03:41:16 +02:00
process_hashtags_service.rb Change trending hashtags to be affected be reblogs (#16164) 2021-05-07 14:33:43 +02:00
process_mentions_service.rb Remove spam check and dependency on nilsimsa gem (#16011) 2021-04-11 11:22:50 +02:00
reblog_service.rb Change trending hashtags to be affected be reblogs (#16164) 2021-05-07 14:33:43 +02:00
reject_follow_service.rb
remove_status_service.rb Fix some RedisLocks auto-releasing too fast (#16276) 2021-05-19 23:52:08 +02:00
report_service.rb Fix reports of already suspended accounts being recorded (#16047) 2021-04-16 22:01:05 +02:00
resolve_account_service.rb Fix some RedisLocks auto-releasing too fast (#16276) 2021-05-19 23:52:08 +02:00
resolve_url_service.rb Improve searching for private toots from URL (#14856) 2020-12-17 06:51:49 +01:00
search_service.rb Optimize some regex matching (#15528) 2021-01-22 10:09:08 +01:00
suspend_account_service.rb Fix remote reporters not receiving suspend/unsuspend activities (#16050) 2021-04-17 14:55:46 +02:00
tag_search_service.rb Add `exclude_unreviewed` param to `GET /api/v2/search` REST API (#11977) 2019-09-28 01:02:21 +02:00
unallow_domain_service.rb Fix removing allowed domains being done synchronously (#14302) 2020-07-15 21:08:19 +02:00
unblock_domain_service.rb Add support for reversible suspensions through ActivityPub (#14989) 2020-11-08 00:28:39 +01:00
unblock_service.rb
unfavourite_service.rb
unfollow_service.rb Fix Move handler queuing jobs that will fail if account is suspended (#11864) 2019-09-17 08:44:45 +02:00
unmute_service.rb
unsuspend_account_service.rb Fix remote reporters not receiving suspend/unsuspend activities (#16050) 2021-04-17 14:55:46 +02:00
update_account_service.rb Bump rubocop from 0.86.0 to 0.88.0 (#14412) 2020-09-01 03:04:00 +02:00
verify_link_service.rb
vote_service.rb Fix invalid votes from the API being accepted (#12601) 2020-01-12 14:17:03 +01:00