diff --git a/sentry_sdk/integrations/redis/_async_common.py b/sentry_sdk/integrations/redis/_async_common.py index b560962875..a5db08f982 100644 --- a/sentry_sdk/integrations/redis/_async_common.py +++ b/sentry_sdk/integrations/redis/_async_common.py @@ -152,14 +152,17 @@ async def _sentry_execute_command( set_db_data_fn(db_span, self) _set_client_data(db_span, is_cluster, name, *args) - value = await old_execute_command(self, name, *args, **kwargs) + try: + value = await old_execute_command(self, name, *args, **kwargs) - db_span.end() + if cache_span: + _set_cache_data(cache_span, self, cache_properties, value) - if cache_span: - _set_cache_data(cache_span, self, cache_properties, value) - cache_span.end() + return value + finally: + db_span.end() - return value + if cache_span: + cache_span.end() cls.execute_command = _sentry_execute_command # type: ignore