getsentry / getsentry/sentry

Cron monitor fires duplicate events when multiple failures are detected simultaneously

Open
#118,344 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bug Crons Product Area: Crons
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
21h 23m
Merged PRs (30d)
607

Description

Environment

SaaS (https://sentry.io/)

Steps to Reproduce
  1. Create a cron monitor with Failure Tolerance = 2, running every 5 minutes
  2. Allow two consecutive check-ins to time out within the same clock minute

Please find the link to the customer's cron monitor in the Linear ticket.

Expected Result

One event is fired when the Failure Tolerance threshold of 2 is reached, as implied by the configuration UI diagram showing "2 failed check-ins -> Issue Open Period".

Actual Result

Two events are fired: one per timed-out check-in, both with the same timestamp.

Product Area

Crons

Link

No response

DSN

No response

Version

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Crons failure-tolerance handling for simultaneous timed-out check-ins. Reproduce the two-check-in scenario with tolerance set to 2 and compare the resulting events. Done means reaching the threshold emits one event rather than one event per check-in.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
observability
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.