Add oldest failed async pending tracker
In the past we have had some async pendings that repeatedly fail for months at a time. This patch adds an OldestAsyncPendingTracker class which manages the tracking of the oldest async pending updates for each account-container pair. This class maintains timestamps for pending updates associated with account-container pairs. It evicts the newest pairs when the max_entries is reached. It supports retrieving the N oldest pending updates or calculating the age of the oldest pending update. Change-Id: I6d9667d555836cfceda52708a57a1d29ebd1a80b
This commit is contained in:
6 changed files with 382 additions and 6 deletions
@@ -528,6 +528,12 @@ use = egg:swift#backend_ratelimit
# Must be an integer value greater than or equal to 0.
# max_deferred_updates = 10000
#
# Maximum number of oldest async pending timestamps to track for each
# account-container pair.
# async_tracker_max_entries = 100
# Maximum number of oldest async pending timestamps to dump to recon cache.
# async_tracker_dump_count = 5
#
# slowdown will sleep that amount between objects. Deprecated; use
# objects_per_second instead.
# slowdown = 0.01
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.