RetryCascade: Recovery and User-Level Outcomes Under Retry Budgets
Abstract
Retry mechanisms can prolong a service overload even after a temporary capacity disruption has been resolved. Although restricting retries may help service recovery, that recovery does not necessarily reflect the proportion of users who receive successful responses. This paper introduces RetryCascade, a reproducible discrete-event simulator that distinguishes logical requests from physical retry attempts and evaluates outcomes by request-arrival period. An exploratory evaluation consists of 630 simulation runs covering varying workload intensities, independent pre-admission failures, transient capacity reductions, and client response policies. The primary comparison examines the effect of introducing a shared retry budget while keeping exponential backoff and full jitter, compared with a no-retry baseline. An additional validation experiment comprises 60 runs using ten previously unseen random seeds under a fixed experimental condition. Both the retry-budget and no-retry configurations achieved recovery in all ten runs that had active triggers. However, their average success rates for requests arriving during the incident differed substantially: 38.27% for the retry-budget configuration and 65.55% for the no-retry configuration. For requests arriving within the subsequent 60-second period, the corresponding success rates were 98.51% for the retry-budget configuration and 89.87% for the no-retry configuration. A separate exploratory sensitivity analysis further shows that waiting for outstanding requests to complete and accepting delayed responses can significantly influence these results. Overall, the findings highlight the importance of evaluating service recovery together with arrival-cohort success rates and clearly defined client response semantics. These conclusions are based on a synthetic simulation environment and should not be interpreted as direct predictions of production database behavior.
