Conversation
Semver Impact of This PR🟡 Minor (new features) 📋 Changelog PreviewThis is how your changes will appear in the changelog. This PR will not appear in the changelog. 🤖 This preview updates automatically when you update the PR. |
Codecov Results 📊✅ 2099 passed | ⏭️ 169 skipped | Total: 2268 | Pass Rate: 92.55% | Execution Time: 4m 15s All tests are passing successfully. ❌ Patch coverage is 8.89%. Project has 12570 uncovered lines. Files with missing lines (6)
Generated by Codecov Action |
Parametrize all tracing-related tests in the redis integration with `span_streaming` [True, False] so they exercise both the streaming and legacy (static) trace lifecycles. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Older redis-py versions (e.g. 4.6.0) emit an extra COMMAND span during RedisCluster initialization. Mirror the legacy branch's handling so the streaming assertion tolerates it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Missing exception handling around set_db_data_fn and _set_client_data in async client (sentry_sdk/integrations/redis/_async_common.py:147)
In _sentry_execute_command, the calls to set_db_data_fn(db_span, self) and _set_client_data(db_span, is_cluster, name, *args) are not wrapped in capture_internal_exceptions(). The synchronous counterpart in _sync_common.py wraps these calls (lines 147-149). If these functions raise an exception, it will propagate and could cause the Redis command to fail or leave spans unclosed, affecting user operations.
Identified by Warden find-bugs
Description
Support span streaming in the Redis integration(s).
The diff is mostly tests 🙏🏻
Issues
Reminders
tox -e linters.feat:,fix:,ref:,meta:)