Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't set transaction status to error on sys.exit(0) #4025

Merged
merged 4 commits into from
Feb 10, 2025

Conversation

sentrivana
Copy link
Contributor

@sentrivana sentrivana commented Feb 10, 2025

We set transaction status to internal_error if there is an exception exiting the start_transaction context manager. We don't check what kind of exception it was.

Some exceptions aren't a sign of anything wrong, like SystemExit with a value of 0, so we shouldn't mark the transaction as failed in that case.

Closes #4024

Copy link

codecov bot commented Feb 10, 2025

❌ 52 Tests Failed:

Tests completed Failed Passed Skipped
22227 52 22175 5757
View the top 3 failed test(s) by shortest run time
tests.integrations.strawberry.test_strawberry test_capture_transaction_on_error[async_app_client_factory-True-framework_integrations0]
Stack Traces | 0.063s run time
.../integrations/strawberry/test_strawberry.py:319: in test_capture_transaction_on_error
    sentry_init(
tests/conftest.py:203: in inner
    client = sentry_sdk.Client(*a, **kw)
sentry_sdk/client.py:269: in __init__
    self._init_impl()
sentry_sdk/client.py:392: in _init_impl
    self.integrations = setup_integrations(
sentry_sdk/integrations/__init__.py:196: in setup_integrations
    type(integration).setup_once()
sentry_sdk/integrations/strawberry.py:81: in setup_once
    _patch_execute()
sentry_sdk/integrations/strawberry.py:293: in _patch_execute
    old_execute_sync = strawberry_schema.execute_sync
E   AttributeError: module 'strawberry.schema.schema' has no attribute 'execute_sync'
tests.integrations.strawberry.test_strawberry test_handle_none_query_gracefully[sync_app_client_factory-False-framework_integrations1]
Stack Traces | 0.063s run time
.../integrations/strawberry/test_strawberry.py:631: in test_handle_none_query_gracefully
    sentry_init(
tests/conftest.py:203: in inner
    client = sentry_sdk.Client(*a, **kw)
sentry_sdk/client.py:269: in __init__
    self._init_impl()
sentry_sdk/client.py:392: in _init_impl
    self.integrations = setup_integrations(
sentry_sdk/integrations/__init__.py:196: in setup_integrations
    type(integration).setup_once()
sentry_sdk/integrations/strawberry.py:81: in setup_once
    _patch_execute()
sentry_sdk/integrations/strawberry.py:293: in _patch_execute
    old_execute_sync = strawberry_schema.execute_sync
E   AttributeError: module 'strawberry.schema.schema' has no attribute 'execute_sync'
tests.integrations.strawberry.test_strawberry test_span_origin[async_app_client_factory-True-framework_integrations0]
Stack Traces | 0.063s run time
.../integrations/strawberry/test_strawberry.py:661: in test_span_origin
    sentry_init(
tests/conftest.py:203: in inner
    client = sentry_sdk.Client(*a, **kw)
sentry_sdk/client.py:269: in __init__
    self._init_impl()
sentry_sdk/client.py:392: in _init_impl
    self.integrations = setup_integrations(
sentry_sdk/integrations/__init__.py:196: in setup_integrations
    type(integration).setup_once()
sentry_sdk/integrations/strawberry.py:81: in setup_once
    _patch_execute()
sentry_sdk/integrations/strawberry.py:293: in _patch_execute
    old_execute_sync = strawberry_schema.execute_sync
E   AttributeError: module 'strawberry.schema.schema' has no attribute 'execute_sync'

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@sentrivana sentrivana marked this pull request as ready for review February 10, 2025 12:18
@sentrivana
Copy link
Contributor Author

The failing tests have to do with a new Strawberry release and not related to this PR, will fix them in #4026

@sentrivana sentrivana merged commit d670a15 into master Feb 10, 2025
148 of 151 checks passed
@sentrivana sentrivana deleted the ivana/dont-treat-sysexit0-as-error branch February 10, 2025 12:51
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.

sys.exit(0) sets transaction/span status as internal_error
2 participants