Skip to content

[PATCH] Add safety check for bedrock ConverseStream responses#547

Merged
liustve merged 8 commits intomainfrom
fix-bedrock-converse-stream-bug
Dec 2, 2025
Merged

[PATCH] Add safety check for bedrock ConverseStream responses#547
liustve merged 8 commits intomainfrom
fix-bedrock-converse-stream-bug

Conversation

@liustve
Copy link
Contributor

@liustve liustve commented Dec 2, 2025

Description of changes:

Ports the changes from open-telemetry/opentelemetry-python-contrib#3990

Add defensive check for Bedrock responses missing expected structure. When no messageStart event with assistant role is received, the response may lack the standard output.message format, causing the occasional KeyError exceptions.

For testing, I was unable to reproduce the exact scenario that would trigger this bug, however, this safety check would fix this issue without affecting normal instrumentation behavior.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@liustve liustve requested a review from a team as a code owner December 2, 2025 20:11
@liustve liustve force-pushed the fix-bedrock-converse-stream-bug branch from 0c3d4ba to a3109c8 Compare December 2, 2025 20:15
@liustve liustve merged commit 72625db into main Dec 2, 2025
25 of 27 checks passed
@liustve liustve deleted the fix-bedrock-converse-stream-bug branch December 2, 2025 23:05
yiyuan-he pushed a commit to yiyuan-he/aws-otel-python-instrumentation that referenced this pull request Dec 12, 2025
…servability#547)

*Description of changes:*

Ports the changes from
open-telemetry/opentelemetry-python-contrib#3990

Add defensive check for Bedrock responses missing expected structure.
When no messageStart event with assistant role is received, the response
may lack the standard output.message format, causing the occasional
KeyError exceptions.

For testing, I was unable to reproduce the exact scenario that would
trigger this bug, however, this safety check would fix this issue
without affecting normal instrumentation behavior.

By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.
yiyuan-he added a commit to yiyuan-he/aws-otel-python-instrumentation that referenced this pull request Dec 12, 2025
@yiyuan-he yiyuan-he mentioned this pull request Dec 12, 2025
yiyuan-he added a commit that referenced this pull request Dec 12, 2025
*Issue #, if available:*
N/A - Patch release preparation

**Description of changes:**

Cherry-pick commits from main to prepare v0.14.1 patch release:
  - #554 - Add custom ADOT UserAgent for OTLP Spans Exporter
- #552 - Refactor configuration for Application Signals Dimensions to
EMF exporter
  - #551 - CVE-2025-66471 fix (urllib3 dependency bump)
- #549 - Disable django instrumentation if DJANGO_SETTINGS_MODULE is not
set
  - #548 - Add Service and Environment dimensions to EMF metrics
  - #547 - Add safety check for bedrock ConverseStream responses
  - #546 - Fix python package distribution name case-sensitive issue

By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.

---------

Co-authored-by: Lei Wang <66336933+wangzlei@users.noreply.github.com>
Co-authored-by: Steve Liu <liustve@amazon.com>
Co-authored-by: Syed Ahsan Ishtiaque <176968742+syed-ahsan-ishtiaque@users.noreply.github.com>
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