Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debug files being deleted if SENTRY_EVENT_RETENTION_DAYS is lower than 30 days #3287

Open
scharli opened this issue Aug 22, 2024 · 4 comments

Comments

@scharli
Copy link

scharli commented Aug 22, 2024

Environment

self-hosted (https://develop.sentry.dev/self-hosted/)

Steps to Reproduce

  1. Set SENTRY_EVENT_RETENTION_DAYS lower than 30 days (example is 1 day)
  2. Upload a debug file in an project
  3. Send events that need this debug file
  4. Wait 2 days
  5. Send events that need this debug file, date_accessed will not be updated
  6. Execute a cleanup setting 1 day
  7. Debug file will be removed

Expected Result

Debug file shouldn't be removed because was used the same day as the cleanup was executed

Actual Result

Debug file is removed because AVAILABLE_FOR_RENEWAL_DAYS is set to 30 days so date_accessed will not be updated inside maybe_renew_debug_files method because this field is updated if 30 days has passed

AVAILABLE_FOR_RENEWAL_DAYS should set to 1 day (or maybe less than 24 hours) so any value of SENTRY_EVENT_RETENTION_DAYS greater than 1 (or 0 if is managed in hours) will work the expected way

Product Area

Processing

Link

No response

DSN

No response

Version

24.8.0

@getsantry
Copy link

getsantry bot commented Aug 22, 2024

Assigning to @getsentry/support for routing ⏲️

@ReneGreen27 ReneGreen27 transferred this issue from getsentry/sentry Aug 22, 2024
@scharli
Copy link
Author

scharli commented Sep 13, 2024

For now the workaround is just skip this model particulary and apply the rest, so the command in docker-compose look like this:

command: '"0 0 * * * gosu sentry sentry cleanup --days $SENTRY_EVENT_RETENTION_DAYS -m ApiGrant -m ApiToken -m ArtifactBundle -m EventAttachment -m ExportedData -m FileBlob -m Group -m GroupEmailThread -m GroupRuleStatus -m LostPasswordHash -m MonitorCheckIn -m NotificationMessage -m OrganizationMember -m ReplayRecordingSegment -m RuleFireHistory -m UserReport"'

@aldy505
Copy link
Collaborator

aldy505 commented Oct 2, 2024

@hubertdeng123 I don't know if this is something that most users will encounter as I don't use debug files myself. Should we just put this on the docs? But if there's a model name changes, we'd need to update the docs more often than we'd need to?

ref: https://github.com/getsentry/sentry/blob/a49edf8ae43666338ccb0d9992fd4e7148c8fb13/src/sentry/runner/commands/cleanup.py#L104-L143

@scharli
Copy link
Author

scharli commented Nov 2, 2024

@aldy505 Maybe one posible solution is to add a --excludemodel option that is easier to handle to write down all possible models just to exclude one.
Good be great and easy to mantain (will be in the same file) in the help a of all models executed
In my research to find a workaround to the problem sentry cleanup --days 90 --model xxx to be able to list all models within the >> Skipping MODELNAME

Thanks for your time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Waiting for: Product Owner
Status: No status
Development

No branches or pull requests

3 participants