getsentry / getsentry/sentry

Cron check-ins incorrectly marked as timed-out despite successful SDK sends

Open
#109,771 4 comments 0 reactions 0 assignees View on GitHub
Bug Crons Product Area: Crons
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
21h 10m
Merged PRs (30d)
635

Description

### Environment

SaaS (https://sentry.io/)

### Steps to Reproduce

1. Configure a cron monitor in AWS Lambda using `@sentry/aws-serverless`:
```js
const monitorConfig = {
schedule: { type: "crontab", value: "0 3 * * *" },
checkinMargin: 1,
maxRuntime: 5,
timezone: "Etc/UTC",
};

export const handler = async (event) => {
await Sentry.withMonitor("cleanup", async () => {
// job logic (~30s runtime)
}, monitorConfig);
await Sentry.flush();
};
```
2. Run the Lambda (manually or scheduled)
3. SDK debug logs confirm both check-ins sent successfully:
```
Sending checkin: cleanup in_progress
Sending checkin: cleanup ok
```

### Expected Result

Check-in shows as successful/OK in the Sentry UI.

### Actual Result

Check-in marked as timed-out with tooltip: "This check-in was incorrectly marked as timed-out. The check-in was processed late due to abnormal system latency in Sentry."
Image
Link to the monitor in the internal Linear ticket.

### Product Area

Crons

### Link

_No response_

### DSN

_No response_

### Version

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the AWS Lambda cron monitor flow using @sentry/aws-serverless, Sentry.withMonitor, the shown monitorConfig, and Sentry.flush. Compare the SDK's in_progress and ok sends with the resulting Sentry check-in state and investigate the Crons processing path. Done means a successful SDK send is shown as successful/OK rather than timed-out.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, javascript
Domain
cloud, observability
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.