Skip to content

Conversation

@cmanallen
Copy link
Member

@cmanallen cmanallen commented Jun 20, 2025

Deletes may sometimes fail due to service flakes. We should make an attempt to retry. If we can't delete the replay go into the failed state. We should offer retry logic in a follow-up PR. Or a beat task to automate the retry. But if the error is deterministic then we'll just spin.

@cmanallen cmanallen requested a review from a team as a code owner June 20, 2025 21:00
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Jun 20, 2025
@codecov
Copy link

codecov bot commented Jun 20, 2025

Codecov Report

Attention: Patch coverage is 76.66667% with 7 lines in your changes missing coverage. Please review.

✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/sentry/filestore/gcs.py 42.85% 4 Missing ⚠️
src/sentry/replays/tasks.py 70.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master   #93996      +/-   ##
==========================================
+ Coverage   83.04%   88.06%   +5.02%     
==========================================
  Files       10462    10384      -78     
  Lines      605064   603247    -1817     
  Branches    23637    23233     -404     
==========================================
+ Hits       502446   531254   +28808     
+ Misses     102258    71525   -30733     
- Partials      360      468     +108     

@aliu39
Copy link
Member

aliu39 commented Jul 1, 2025

We should offer retry logic in a follow-up PR. Or a beat task to automate the retry. But if the error is deterministic then we'll just spin.

I'm not clear what this means - does this PR enable retries, or only add the logic to be used in the future? Does spin mean try indefinitely, and are we doing that here? (my guess is no because of the REPLAY_GCS_RETRIES check)

@cmanallen
Copy link
Member Author

@aliu39

I'm not clear what this means - does this PR enable retries, or only add the logic to be used in the future? Does spin mean try indefinitely, and are we doing that here? (my guess is no because of the REPLAY_GCS_RETRIES check)

User-facing retry logic. I.e. someone can restart a failed task.

@cmanallen cmanallen merged commit ef84694 into master Jul 14, 2025
65 checks passed
@cmanallen cmanallen deleted the cmanallen/replays-retry-deletes branch July 14, 2025 15:29
andrewshie-sentry pushed a commit that referenced this pull request Jul 14, 2025
…jobs as failed (#93996)

Deletes may sometimes fail due to service flakes. We should make an
attempt to retry. If we can't delete the replay go into the failed
state. We should offer retry logic in a follow-up PR. Or a beat task to
automate the retry. But if the error is deterministic then we'll just
spin.
@github-actions github-actions bot locked and limited conversation to collaborators Jul 30, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants