fix(dedupe): Track seen exceptions via attribute instead of ContextVar - #7533
Merged
Merged
Conversation
Contributor
Codecov Results 📊✅ 56706 passed | ⏭️ 2727 skipped | Total: 59433 | Pass Rate: 95.41% | Execution Time: 156m 7s 📊 Comparison with Base Branch
All tests are passing successfully. ✅ Patch coverage is 100.00%. Project has 2075 uncovered lines. Coverage diff@@ Coverage Diff @@
## master #PR +/-##
==========================================
- Coverage 90.35% 90.00% -0.35%
==========================================
Files 202 185 -17
Lines 26551 20741 -5810
Branches 9856 7158 -2698
==========================================
+ Hits 23988 18666 -5322
- Misses 2563 2075 -488
- Partials 1487 1205 -282Generated by Codecov Action |
ericapisani
marked this pull request as ready for review
September 18, 2026 19:10
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 900ad90. Configure here.
sentrivana
approved these changes
Oct 5, 2026
The test asserted that a payload referenced from a captured exception's traceback is garbage collected. Binding the exception in the test function's own frame kept it reachable via the frame's locals under coverage tracing, so the assertion failed on CI (seen on 3.8 and 3.12). Raise and capture inside a nested helper so the exception never lands in the test function's locals.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Replace DedupeIntegration's weakref/ContextVar-based "last seen"
tracking with a
_handled_by_sentryflag set directly on theexception. This avoids the contextvar leaking across async contexts
and removes the need for
reset_last_seen(), which the client usedto call after
before_senddropped an exception.Add a regression test for the case where the same exception instance
is re-raised (e.g. Django re-raising in middleware after a view
already handled it) to confirm it's still deduped correctly.
Fixes PY-2381
Fixes #6094