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/lib
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
4 years ago
..
activitypub Fix some RedisLocks auto-releasing too fast (#16276) 4 years ago
admin Fix SidekiqProcessCheck checking for a queue name that isn't used in Mastodon (#16002) 4 years ago
connection_pool Add request pool to improve delivery performance (#10353) 6 years ago
nodeinfo Add a nodeinfo endpoint (#12002) 5 years ago
ostatus Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 6 years ago
proof_provider Fix rubocop warning (#14288) 5 years ago
rss Improve RSS entries for statuses (#13592) 5 years ago
settings Update Mastodon to Rails 6.1 (#15910) 4 years ago
access_token_extension.rb Fix streaming API allowing connections to persist after access token invalidation (#15111) 4 years ago
account_reach_finder.rb Fix remote reporters not receiving suspend/unsuspend activities (#16050) 4 years ago
activity_tracker.rb Add a nodeinfo endpoint (#12002) 5 years ago
application_extension.rb Fix app name, website and redirect URIs not having a maximum length (#16042) 4 years ago
cache_buster.rb Add cache buster feature for media files (#15155) 4 years ago
delivery_failure_tracker.rb Add management of delivery availability in Federation settings (#15771) 4 years ago
entity_cache.rb Fix cache_collection crashing when given an empty collection (#15921) 4 years ago
extractor.rb Update twitter-text from 1.14 to 3.1.0 and fix toot character counting (#15382) 4 years ago
fast_geometry_parser.rb Fix avatar and header issues by using custom geometry detector (#6515) 7 years ago
fast_ip_map.rb Add IP-based rules (#14963) 4 years ago
feed_manager.rb Fix blocking someone not clearing up list feeds (#16205) 4 years ago
formatter.rb Fix an error with 'multiple mentions with same username' (#16038) 4 years ago
hash_object.rb Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings 8 years ago
inline_renderer.rb Add E2EE API (#13820) 5 years ago
language_detector.rb Fix URL scanning in note length validator and preview card fetching (#15827) 4 years ago
potential_friendship_tracker.rb Change auto-following admin-selected accounts, show in recommendations (#16078) 4 years ago
proof_provider.rb Add Keybase integration (#10297) 6 years ago
rate_limiter.rb Add rate limit for reporting (#13390) 5 years ago
request.rb Optimize some regex matching (#15528) 4 years ago
request_pool.rb Add request pool to improve delivery performance (#10353) 6 years ago
response_with_limit.rb Fix remote files not using Content-Type header, streaming (#14184) 5 years ago
rss_builder.rb Add RSS feeds for end-users (#7259) 7 years ago
search_query_parser.rb Fix accounts search by full/partial display name and others (#11580) 6 years ago
search_query_transformer.rb Fix error when searching for empty phrase (#12711) 5 years ago
sidekiq_error_handler.rb Bump rubocop from 0.86.0 to 0.88.0 (#14412) 4 years ago
status_filter.rb Fix n+1 queries in StatusThreadingConcern (#7321) 7 years ago
status_finder.rb Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 6 years ago
status_reach_finder.rb Fix nil error when removing status caused by race condition (#16099) 4 years ago
tag_manager.rb Change multiple mentions with same username to render with domain (#15718) 4 years ago
themes.rb Add support for multiple themes (#4959) 7 years ago
toc_generator.rb Add fallback section ID with ToC (#11941) 5 years ago
user_settings_decorator.rb Add option to disable swiping motions across the WebUI (#13885) 4 years ago
validation_error_formatter.rb Add `details` to error response for `POST /api/v1/accounts` in REST API (#15803) 4 years ago
video_metadata_extractor.rb Fix media processing getting stuck on too much stdin/stderr (#16136) 4 years ago
webfinger.rb replace all instances of "ends_with?" with "end_with?" (#15745) 4 years ago
webfinger_resource.rb Fix webfinger returning wrong status code on malformed or missing param (#13759) 5 years ago