sentry-python icon indicating copy to clipboard operation
sentry-python copied to clipboard

CloudResourceContextIntegration freezing in ECS Container

Open jensenbox opened this issue 2 years ago • 1 comments

How do you use Sentry?

Sentry Saas (sentry.io)

Version

1.31.0

Steps to Reproduce

Configure the CloudResourceContextIntegration without any parameters but run in an ECS container on AWS - which is running on EC2 hardware.

My suggestion is to either make the IMDS address configurable or do some detection to see if you are on ECS. There is an IMDS for ECS you could use.

At the very least make the http have a timeout so that things are not totally locked up.

Expected Result

Not freeze

Actual Result

Infinite freeze at https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/cloud_resource_context.py#L74

jensenbox avatar Sep 16 '23 08:09 jensenbox

Hey @jensenbox ! Thanks for reporting this. I guess I never tested it on ECS. But it seams like a not-so-big fix. (regardless the request should not freece in the first place but just time out at some point...)

antonpirker avatar Sep 18 '23 06:09 antonpirker

While it is awesome that you added a timeout it does not fix the fact that this will not work for ECS tasks that are running on EC2 instances.

This will only allow it to proceed and not actually fix the root issue.

The Metadata address is still wrong. It needs to have a fallback or be configurable. There are environment variables available that tell you the address that can be used rather than hard coding it.

jensenbox avatar Mar 10 '25 15:03 jensenbox