Skip to content

test(node): Fix ANR test for flakiness#20656

Open
mydea wants to merge 2 commits intodevelopfrom
fn/fix-anr-test
Open

test(node): Fix ANR test for flakiness#20656
mydea wants to merge 2 commits intodevelopfrom
fn/fix-anr-test

Conversation

@mydea
Copy link
Copy Markdown
Member

@mydea mydea commented May 4, 2026

Closes #20643

Reasoning by Cursor:

Cause

The from forked process case was different from the stable ANR scenarios (basic.mjs, etc.):

forked.js used a hard-coded ingest DSN instead of process.env.SENTRY_DSN.
The test did not call .withMockSentryServer(), so the runner never started the local mock ingest server or injected SENTRY_DSN.
So the runner depended on the ANR worker’s debug stdout ([ANR Worker] … + JSON envelope) being forwarded through fork() + stdio: 'inherit'. That path is sensitive to timing, buffering, and CI load—the kind of setup that shows up as intermittent failures (issue #20643).

Fix

forked.js — initialize with dsn: process.env.SENTRY_DSN, matching basic.mjs so the forked child uses the same DSN the runner configures when the mock server is enabled.
test.ts — chain .withMockSentryServer() on the forker.js runner so events are delivered over HTTP to the mock server (same mechanism as the other ANR tests), instead of relying on debug lines on stdout.

Not 100% sure if this will fix the flakiness but it def. seems like an overall good change to me anyhow!

@mydea mydea self-assigned this May 4, 2026
@mydea mydea requested a review from a team as a code owner May 4, 2026 13:52
Comment thread dev-packages/node-integration-tests/suites/anr/test.ts
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 4, 2026

size-limit report 📦

Path Size % Change Change
@sentry/browser 26.31 kB - -
@sentry/browser - with treeshaking flags 24.8 kB - -
@sentry/browser (incl. Tracing) 44.2 kB - -
@sentry/browser (incl. Tracing + Span Streaming) 46.42 kB - -
@sentry/browser (incl. Tracing, Profiling) 49.16 kB - -
@sentry/browser (incl. Tracing, Replay) 83.58 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.04 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 88.26 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 100.87 kB - -
@sentry/browser (incl. Feedback) 43.47 kB - -
@sentry/browser (incl. sendFeedback) 31.12 kB - -
@sentry/browser (incl. FeedbackAsync) 36.21 kB - -
@sentry/browser (incl. Metrics) 27.62 kB - -
@sentry/browser (incl. Logs) 27.75 kB - -
@sentry/browser (incl. Metrics & Logs) 28.45 kB - -
@sentry/react 28.05 kB - -
@sentry/react (incl. Tracing) 46.42 kB - -
@sentry/vue 31.18 kB - -
@sentry/vue (incl. Tracing) 46.04 kB - -
@sentry/svelte 26.34 kB - -
CDN Bundle 28.91 kB - -
CDN Bundle (incl. Tracing) 46.95 kB - -
CDN Bundle (incl. Logs, Metrics) 30.34 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) 48.06 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) 69.41 kB - -
CDN Bundle (incl. Tracing, Replay) 84.11 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 85.16 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 89.91 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 91.01 kB - -
CDN Bundle - uncompressed 84.72 kB - -
CDN Bundle (incl. Tracing) - uncompressed 140.31 kB - -
CDN Bundle (incl. Logs, Metrics) - uncompressed 88.92 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 143.77 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 212.86 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 258.11 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 261.56 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 271.81 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 275.25 kB - -
@sentry/nextjs (client) 48.92 kB - -
@sentry/sveltekit (client) 44.67 kB - -
@sentry/node-core 59.13 kB +0.02% +9 B 🔺
@sentry/node 170.57 kB +0.01% +13 B 🔺
@sentry/node - without tracing 97.17 kB +0.01% +7 B 🔺
@sentry/aws-serverless 113.99 kB +0.03% +31 B 🔺
@sentry/cloudflare (withSentry) - minified 165.2 kB - -
@sentry/cloudflare (withSentry) 417.71 kB - -

View base workflow run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Flaky CI]: Node (22) Integration Tests - suites/anr/test.ts > should report ANR when event loop blocked > from forked process

1 participant