Repository navigation
test(relay): Assert rejection outcomes instead of waiting out ingestion - #131170
sentry-junior[bot] wants to merge 1 commit into
Conversation
Negative Relay integration tests caught the AssertionError from the successful-ingestion helper, so every expected rejection waited the full 16s ingest timeout and any unrelated assertion also counted as a rejection. Read the per-worker outcomes topic from its current high watermarks and wait for the error outcome Relay emits for the test's org, project, and key, then assert its outcome type, reason, and quantity. Co-Authored-By: Joshua Li <14209781+joshuarli@users.noreply.github.com>
|
Per-file durations from the full backend run on this PR (run 43539688316,
Caveat: the runners on this run were faster than usual. Summed over every file, the whole suite took 14,947s here against 18,481 to 19,525s on master, about 0.78x. That explains the drop in the untouched files. After scaling the master medians by 0.78, the change itself saves about 61s in Locally, against devservices and the real Relay container, running |
Supersedes #129071. Builds on the outcome-capture idea from #128956, rebased onto current master.
post_and_try_retrieve_eventswallowed theAssertionErrorfrom the success path. That made every expected Relay rejection wait out the 16s ingest timeout, and let unrelated failures pass as rejections.post_and_assert_rejectedreplaces it. It reads the per-workeroutcomestopic from the high watermarks captured before the POST, then waits for the outcome Relay emits for the project's org/project/key. It asserts that outcome's type and reason. Relay aggregates outcomes and drops event IDs, so the match uses org/project/key. That's unambiguous because project IDs are snowflakes and each case posts once.via @joshuarli.
--
View Session [Sentry]