-
Notifications
You must be signed in to change notification settings - Fork 479
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
Install tzdb on provided.al2023 runtime so that TimeZoneInfo.FindSystemTimeZoneById() works #1620
Comments
Needs review with the team. |
Hi @martincostello, the Lambda team is aware of this issue and we are waiting on them for guidance on how they want to address the lack TZData since this is an issue that affects multiple runtimes based on AL2023. |
The OCI image for |
Amazing - thanks! |
Tested today in eu-north-1. The change did not propagate to this region yet. Will try again next week. |
AWS support replied to our org regarding this topic. No deep insights, basically just confirming what was written here. I'm a bit confused by the lack of transparence regarding this case.
Whereas [1] is a reference to this issue 😆 |
@normj Are you able to give us a minimum version number where we should see this change from so we can keep a look out for the change propagating to our app? Running the following below on my laptop I get the following:
Running the equivalent commands in Lambda in eu-west-1 just now I get |
@jonas-pietzsch Sorry you are disappointed by the lack of transparency. It isn't that I'm holding anything back I'm just pretty removed from the team that handle deployments so I don't know the schedule very well. I mostly pay attention to the .NET managed runtime deployments 😄. I did hear there were no feature deployments over the holidays so unfortunately getting this change deployed to the @martincostello Sorry I'm not sure on the version number. |
Tested today in eu-north-1. Finally it works. |
|
@normj I am still seeing this issue with the runtime: |
@Bhutania Lambda deployments happen in waves across all of the AWS regions with plenty of time for each wave to monitor to make sure everything went well before moving on to the next. I'm not sure when they will get to us-west-2 but the pipeline is continuing to go along. |
us-west-2 now shows |
Seeing |
Describe the feature
Logging this here as it's .NET-specific, so if not implemented for
provided.al2023
, it might be something desired for any forthcoming .NET 8 managed runtime.I migrated a .NET 8 application using the
provided.al2
runtime which uses theTimeZoneInfo.FindSystemTimeZoneById()
method to convert UTC times to a specific time zone toprovided.al2023
earlier this week, and have discovered that compared to the previous version of the provided runtime, tzdb is not installed. Calling theTimeZoneInfo.GetSystemTimeZones()
method returns 0 items as well.This causes code paths using built-in .NET time zone handling APIs that typically work outside of the Lambda runtime environment (e.g. Linux build agents, developers' Windows machines) to fail when deployed to AWS Lambda.
To fix the functionality in the application, I've had to re-introduce a dependency on NodaTime (we used to use this, but removed it in favour of the new
TimeProvider
API).Use Case
The application converts times in UTC to a specific time zone. For example:
With tzdb installed, this code will work correctly.
Without it, an exception is thrown at runtime:
Proposed Solution
Install
tzdb
on theprovided.al2023
runtime (or the managed .NET 8 runtime if/when it becomes available).As well as making the code functional as with
provided.al2
, it removes the need to include NodaTime in the function's deployment package.Other Information
No response
Acknowledgements
AWS .NET SDK and/or Package version used
The
provided.al2023
runtime.Targeted .NET Platform
.NET 8
Operating System and version
Amazon Linux 2023
The text was updated successfully, but these errors were encountered: