Skip to content

ref: Support outgoing trace propagation in span first (18) #7102

ref: Support outgoing trace propagation in span first (18)

ref: Support outgoing trace propagation in span first (18) #7102

Triggered via pull request March 11, 2026 13:57
Status Success
Total duration 2m 34s
Artifacts 2
Matrix: Network
All Network tests passed
2s
All Network tests passed
Fit to window
Zoom out
Zoom in

Annotations

4 errors and 40 warnings
NoOpStreamedSpan.iter_headers() will raise AttributeError due to missing _segment attribute: sentry_sdk/scope.py#L688
The change from `span.iter_headers()` to `span._iter_headers()` can cause an `AttributeError` when `span` is a `NoOpStreamedSpan`. The `_iter_headers` method in `StreamedSpan` accesses `self._segment` (line 505), but `NoOpStreamedSpan` doesn't initialize this attribute since it doesn't call `super().__init__()`. Other methods in this file (get_traceparent, get_baggage, get_trace_context) have guards like `not isinstance(self.span, NoOpStreamedSpan)` but this method is missing that check.
[QEV-CXW] NoOpStreamedSpan.iter_headers() will raise AttributeError due to missing _segment attribute (additional location): sentry_sdk/tracing_utils.py#L1117
The change from `span.iter_headers()` to `span._iter_headers()` can cause an `AttributeError` when `span` is a `NoOpStreamedSpan`. The `_iter_headers` method in `StreamedSpan` accesses `self._segment` (line 505), but `NoOpStreamedSpan` doesn't initialize this attribute since it doesn't call `super().__init__()`. Other methods in this file (get_traceparent, get_baggage, get_trace_context) have guards like `not isinstance(self.span, NoOpStreamedSpan)` but this method is missing that check.
Calling _iter_headers on NoOpStreamedSpan raises AttributeError due to missing _segment: sentry_sdk/traces.py#L504
The `_iter_headers` method (lines 504-512) accesses `self._segment`, but `NoOpStreamedSpan` never initializes this attribute. When `iter_trace_propagation_headers` in `scope.py` calls `span._iter_headers()` without checking for `NoOpStreamedSpan`, it will raise `AttributeError: 'NoOpStreamedSpan' object has no attribute '_segment'`. The guard `if not self._segment` doesn't help because it requires `_segment` to exist. Similarly, `_dynamic_sampling_context`, `_to_baggage`, and `_get_baggage` will fail for the same reason.
[BFZ-FAG] Calling _iter_headers on NoOpStreamedSpan raises AttributeError due to missing _segment (additional location): sentry_sdk/tracing_utils.py#L1117
The `_iter_headers` method (lines 504-512) accesses `self._segment`, but `NoOpStreamedSpan` never initializes this attribute. When `iter_trace_propagation_headers` in `scope.py` calls `span._iter_headers()` without checking for `NoOpStreamedSpan`, it will raise `AttributeError: 'NoOpStreamedSpan' object has no attribute '_segment'`. The guard `if not self._segment` doesn't help because it requires `_segment` to exist. Similarly, `_dynamic_sampling_context`, `_to_baggage`, and `_get_baggage` will fail for the same reason.
Network (3.11, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: getsentry/codecov-action@main. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Network (3.11, ubuntu-22.04)
❌ Patch coverage check failed: 25.74% < target 80%
Network (3.6, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: getsentry/codecov-action@main. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Network (3.6, ubuntu-22.04)
❌ Patch coverage check failed: 25.00% < target 80%
Network (3.6, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.6, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.8, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: getsentry/codecov-action@main. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Network (3.8, ubuntu-22.04)
❌ Patch coverage check failed: 25.74% < target 80%
Network (3.8, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.8, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.10, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: getsentry/codecov-action@main. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Network (3.10, ubuntu-22.04)
❌ Patch coverage check failed: 25.74% < target 80%
Network (3.10, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.10, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.7, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: getsentry/codecov-action@main. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Network (3.7, ubuntu-22.04)
❌ Patch coverage check failed: 25.74% < target 80%
Network (3.7, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.7, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.12, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: getsentry/codecov-action@main. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Network (3.12, ubuntu-22.04)
❌ Patch coverage check failed: 25.74% < target 80%
Network (3.12, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.12, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.9, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: getsentry/codecov-action@main. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Network (3.9, ubuntu-22.04)
❌ Patch coverage check failed: 25.74% < target 80%
Network (3.9, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.9, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.14t, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: getsentry/codecov-action@main. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Network (3.14t, ubuntu-22.04)
❌ Patch coverage check failed: 24.26% < target 80%
Network (3.14t, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.14t, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.13, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: getsentry/codecov-action@main. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Network (3.13, ubuntu-22.04)
❌ Patch coverage check failed: 25.74% < target 80%
Network (3.13, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.13, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.14, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: getsentry/codecov-action@main. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Network (3.14, ubuntu-22.04)
❌ Patch coverage check failed: 25.74% < target 80%
Network (3.14, ubuntu-22.04)
Failed to upload coverage artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
Network (3.14, ubuntu-22.04)
Failed to upload test artifact: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
set_transaction_name returns early for NoOpStreamedSpan, skipping _transaction_info update: sentry_sdk/scope.py#L842
When `self._span` is a `NoOpStreamedSpan`, the code returns early on line 843 before reaching line 857-858 which updates `self._transaction_info["source"]`. In the original code, this update always occurred when a source was provided. This causes inconsistent state where `_transaction` is set but `_transaction_info["source"]` is not updated.
Early return in set_transaction_name skips transaction_info source storage: sentry_sdk/scope.py#L843
When `self._span` is a `NoOpStreamedSpan`, the method returns early on line 843, which skips the `self._transaction_info["source"] = source` assignment on line 858. In the old code, the source was always stored in `_transaction_info` regardless of the span type. This behavioral change could affect event processing that relies on `_transaction_info["source"]` being set.

Artifacts

Produced during runtime
Name Size Digest
codecov-coverage-results-ivana-span-first-18-trace-propagation-test-network Expired
108 KB
sha256:720525e20e3f93892c6bc1c406a6e37a3e633c00ce5d0d0a49ddea7dce3209c1
codecov-test-results-ivana-span-first-18-trace-propagation-test-network Expired
232 Bytes
sha256:90fcc113bfbe341d65a12da2188eabae4828ac312499a8fd098475531d955d97