mastodon/app/lib
Claire 4d41c91335 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
2022-01-28 22:39:48 +01:00
..
activitypub Fix some RedisLocks auto-releasing too fast (#16276) 2022-01-28 22:39:48 +01:00
connection_pool Add request pool to improve delivery performance (#10353) 2019-07-02 00:34:38 +02:00
nodeinfo Add a nodeinfo endpoint (#12002) 2019-09-29 21:31:51 +02:00
ostatus Remove Atom feeds and old URLs in the form of GET /:username/updates/:id (#11247) 2019-07-07 16:16:51 +02:00
proof_provider Fix rubocop warning (#14288) 2020-07-14 19:05:07 +02:00
rss Improve RSS entries for statuses (#13592) 2020-05-10 09:50:54 +02:00
settings Removed disabling comments for Style/MethodMissingSuper (#15014) 2020-10-20 09:13:39 +02:00
access_token_extension.rb Fix streaming API allowing connections to persist after access token invalidation (#15111) 2020-11-12 23:05:24 +01:00
account_reach_finder.rb Fix remote reporters not receiving suspend/unsuspend activities (#16050) 2022-01-28 22:39:47 +01:00
activity_tracker.rb Add a nodeinfo endpoint (#12002) 2019-09-29 21:31:51 +02:00
application_extension.rb Fix app name, website and redirect URIs not having a maximum length (#16042) 2022-01-28 22:39:48 +01:00
cache_buster.rb Add cache buster feature for media files (#15155) 2020-11-19 17:38:06 +01:00
delivery_failure_tracker.rb Change delivery failure tracking to work with hostnames instead of URLs (#13437) 2020-04-15 20:33:24 +02:00
entity_cache.rb Bump rubocop from 0.86.0 to 0.88.0 (#14412) 2020-09-01 03:04:00 +02:00
exceptions.rb Fix media redownload worker retrying on unexpected response codes (#16111) 2022-01-28 22:39:47 +01:00
extractor.rb Using double splat operator (#5859) 2017-12-06 11:41:57 +01:00
fast_geometry_parser.rb Fix avatar and header issues by using custom geometry detector (#6515) 2018-02-21 03:40:12 +01:00
fast_ip_map.rb Add IP-based rules (#14963) 2020-10-12 16:33:49 +02:00
feed_manager.rb Fix blocking someone not clearing up list feeds (#16205) 2022-01-28 22:39:48 +01:00
formatter.rb Bump rubocop from 0.86.0 to 0.88.0 (#14412) 2020-09-01 03:04:00 +02:00
hash_object.rb Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings 2017-01-12 20:46:24 +01:00
inline_renderer.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
language_detector.rb Fix Thai being skipped from language detection (#13989) 2020-06-25 22:45:01 +02:00
potential_friendship_tracker.rb Create Redisable#redis (#9633) 2019-02-02 19:11:38 +01:00
proof_provider.rb Add Keybase integration (#10297) 2019-03-18 21:00:55 +01:00
rate_limiter.rb Add rate limit for reporting (#13390) 2020-04-05 14:40:08 +02:00
request.rb Add environment variable to allow requests to some private addresses (#14722) 2020-09-26 20:57:39 +02:00
request_pool.rb Add request pool to improve delivery performance (#10353) 2019-07-02 00:34:38 +02:00
response_with_limit.rb Fix remote files not using Content-Type header, streaming (#14184) 2020-06-30 23:58:02 +02:00
rss_builder.rb Add RSS feeds for end-users (#7259) 2018-04-25 02:10:02 +02:00
sanitize_config.rb Add support for Gemini urls (#15013) 2020-10-19 17:02:13 +02:00
search_query_parser.rb Fix accounts search by full/partial display name and others (#11580) 2019-08-16 13:00:30 +02:00
search_query_transformer.rb Fix error when searching for empty phrase (#12711) 2019-12-30 18:30:24 +01:00
sidekiq_error_handler.rb Bump rubocop from 0.86.0 to 0.88.0 (#14412) 2020-09-01 03:04:00 +02:00
spam_check.rb Exempt staff members from spam check (#12874) 2020-01-17 07:50:30 +01:00
status_filter.rb Fix n+1 queries in StatusThreadingConcern (#7321) 2018-05-03 10:41:58 +02:00
status_finder.rb Remove Atom feeds and old URLs in the form of GET /:username/updates/:id (#11247) 2019-07-07 16:16:51 +02:00
status_reach_finder.rb Fix deletes not reaching every server that interacted with status (#15200) 2020-11-27 15:48:31 +01:00
tag_manager.rb Refactor domain block checks (#11268) 2019-07-09 03:27:35 +02:00
themes.rb Add support for multiple themes (#4959) 2017-09-19 16:36:23 +02:00
toc_generator.rb Add fallback section ID with ToC (#11941) 2019-09-23 17:25:10 +02:00
user_settings_decorator.rb Add option to disable swiping motions across the WebUI (#13885) 2020-09-30 19:31:03 +02:00
video_metadata_extractor.rb Fix media processing getting stuck on too much stdin/stderr (#16136) 2022-01-28 22:39:48 +01:00
webfinger.rb Add support for reversible suspensions through ActivityPub (#14989) 2020-11-08 00:28:39 +01:00
webfinger_resource.rb Fix webfinger returning wrong status code on malformed or missing param (#13759) 2020-05-14 23:28:06 +02:00