Skip to content

fix: Handle invalid SENTRY_DEBUG values properly #4400

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

Merged
merged 4 commits into from
May 20, 2025

Conversation

szokeasaurusrex
Copy link
Member

Previously, if the environment variable SENTRY_DEBUG would have an invalid value, such as "invalid," we would set rv["debug"] to None. However, since this value should be a boolean, it should instead be set to False.

This change ensures that rv["debug"] always is a boolean. Where we previously would have set the value to None, we now set it to False. Other behavior remains unchanged.

Ref https://github.com/getsentry/sentry-python/pull/4366/files#r2075294825

Depends on:

This commit enables the `keep_alive` option to be set via the `SENTRY_KEEP_ALIVE` environment variable. When both the environment variable and the argument are provided, the argument takes precedence.

Closes #4354
Previously, if the environment variable `SENTRY_DEBUG` would have an invalid value, such as "invalid," we would set `rv["debug"]` to `None`. However, since this value should be a boolean, it should instead be set to `False`.

This change ensures that `rv["debug"]` always is a boolean. Where we previously would have set the value to `None`, we now set it to `False`. Other behavior remains unchanged.

Ref https://github.com/getsentry/sentry-python/pull/4366/files#r2075294825
Copy link

codecov bot commented May 19, 2025

⚠️ Parser warning

The parser emitted a warning. Please review your JUnit XML file:

Warning while parsing testcase attributes: Limit of string is 1000 chars, for name, we got 2301 at 1:2560 in /home/runner/work/sentry-python/sentry-python/.junitxml

❌ 5 Tests Failed:

Tests completed Failed Passed Skipped
24017 5 24012 5866
View the top 3 failed test(s) by shortest run time
tests.integrations.redis.cluster.test_redis_cluster::test_rediscluster_pipeline[False-expected_first_ten0]
Stack Traces | 0.088s run time
.../redis/cluster/test_redis_cluster.py:131: in test_rediscluster_pipeline
    assert span["data"] == ApproxDict(
E   assert {'thread.id': '140210012343168', 'thread.name': 'MainThread', 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379, 'redis.commands': {'count': 0, 'first_ten': []}} == {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' [Filtered]", "SET 'baz' [Filtered]"]}, 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Common items:
E     {'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Differing items:
E     {'redis.commands': {'count': 0, 'first_ten': []}} != {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' [Filtered]", "SET 'baz' [Filtered]"]}}
E     Left contains 2 more items:
E     {'thread.id': '140210012343168', 'thread.name': 'MainThread'}
E     Full diff:
E       {
E        'db.system': 'redis',
E     -  'redis.commands': {'count': 3,
E     ?                              ^
E     +  'redis.commands': {'count': 0,
E     ?                              ^
E     -                     'first_ten': ["GET 'foo'",
E     ?                                   ^^^^^^^^^^^
E     +                     'first_ten': []},
E     ?                                   ^^
E     -                                   "SET 'bar' [Filtered]",
E     -                                   "SET 'baz' [Filtered]"]},
E        'server.address': '127.0.0.1',
E        'server.port': 6379,
E     +  'thread.id': '140210012343168',
E     +  'thread.name': 'MainThread',
E       }
tests.integrations.redis.cluster.test_redis_cluster::test_rediscluster_pipeline[True-expected_first_ten1]
Stack Traces | 0.088s run time
.../redis/cluster/test_redis_cluster.py:131: in test_rediscluster_pipeline
    assert span["data"] == ApproxDict(
E   assert {'thread.id': '140210012343168', 'thread.name': 'MainThread', 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379, 'redis.commands': {'count': 0, 'first_ten': []}} == {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' 1", "SET 'baz' 2"]}, 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Common items:
E     {'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Differing items:
E     {'redis.commands': {'count': 0, 'first_ten': []}} != {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' 1", "SET 'baz' 2"]}}
E     Left contains 2 more items:
E     {'thread.id': '140210012343168', 'thread.name': 'MainThread'}
E     Full diff:
E       {
E        'db.system': 'redis',
E     -  'redis.commands': {'count': 3,
E     ?                              ^
E     +  'redis.commands': {'count': 0,
E     ?                              ^
E     -                     'first_ten': ["GET 'foo'",
E     ?                                   ^^^^^^^^^^^
E     +                     'first_ten': []},
E     ?                                   ^^
E     -                                   "SET 'bar' 1",
E     -                                   "SET 'baz' 2"]},
E        'server.address': '127.0.0.1',
E        'server.port': 6379,
E     +  'thread.id': '140210012343168',
E     +  'thread.name': 'MainThread',
E       }
tests.integrations.redis.cluster.test_redis_cluster::test_rediscluster_pipeline[False-expected_first_ten0]
Stack Traces | 0.094s run time
.../redis/cluster/test_redis_cluster.py:131: in test_rediscluster_pipeline
    assert span["data"] == ApproxDict(
E   assert {'thread.id': '139863045888896', 'thread.name': 'MainThread', 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379, 'redis.commands': {'count': 0, 'first_ten': []}} == {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' [Filtered]", "SET 'baz' [Filtered]"]}, 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Common items:
E     {'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Differing items:
E     {'redis.commands': {'count': 0, 'first_ten': []}} != {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' [Filtered]", "SET 'baz' [Filtered]"]}}
E     Left contains 2 more items:
E     {'thread.id': '139863045888896', 'thread.name': 'MainThread'}
E     Full diff:
E       {
E        'db.system': 'redis',
E     -  'redis.commands': {'count': 3,
E     ?                              ^
E     +  'redis.commands': {'count': 0,
E     ?                              ^
E     -                     'first_ten': ["GET 'foo'",
E     ?                                   ^^^^^^^^^^^
E     +                     'first_ten': []},
E     ?                                   ^^
E     -                                   "SET 'bar' [Filtered]",
E     -                                   "SET 'baz' [Filtered]"]},
E        'server.address': '127.0.0.1',
E        'server.port': 6379,
E     +  'thread.id': '139863045888896',
E     +  'thread.name': 'MainThread',
E       }

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

Base automatically changed from szokeasaurusrex/keep-alive-env-var to master May 19, 2025 12:42
Copy link
Member

@antonpirker antonpirker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for fixing!

@szokeasaurusrex szokeasaurusrex enabled auto-merge (squash) May 20, 2025 11:29
@szokeasaurusrex szokeasaurusrex merged commit b2d4400 into master May 20, 2025
133 of 136 checks passed
@szokeasaurusrex szokeasaurusrex deleted the szokeasaurusrex/consistent-env-var-handling branch May 20, 2025 11:36
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.

2 participants