-
Notifications
You must be signed in to change notification settings - Fork 443
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
DeltaLake >= v0.20.0 throws "invalid peer certificate: BadSignature" error (ARM/Kubernetes/EKS) #3193
Comments
The issue implies there is something either wrong with the certificates that you are using or the parsing of the certificates. To my understanding aws_config uses Hyper for the http client and rustls for the certificate handling |
I can this dependency tree in aws_smithy:
@rtyler you have more insights on the inner workings of rustls and aws (EKS)? |
@ion-elgreco Sorry, but I don't know anything about rust and I am simply using deltalake from Python. We only discovered that deltalake library is not working anymore in k8s/arm environment when upgrading to v0.20.0 |
I tried to reproduce the behavior using a minimal Docker container, maybe this helps to analyze or reproduce. Dockerfile:
Put values from your environment for Build it:
Put a valid Docker registry instead of k8s job manifests:
Put a valid serviceAccount instead of Deploy it:
ResultThe job using v0.19.2 logs:
The job using v0.20.0 logs:
|
Can you compile the branch of the commit of 0.19.2 release, and check if you see it still working? If it does, you should compile 0.20.0 commit id and see if it fails. If it does then compare the cargo trees between both of the release commits. This probably will give a hint of what has changed between these two versions in terms of rustls |
Environment
Python 3.10 job on AWS EKS on ARM nodes
Delta-rs version:
0.20.0 and later
Binding:
Python
Environment:
Bug
What happened:
After a version upgrade we are running into an exception when running a Python job in Kubernetes on an ARM node. The job uses a k8s serviceAccount to get properly configured AWS IAM policies to access S3. In deltalake versions before v0.20.0 everything worked fine for months. Using version > 0.19.2 breaks our code.
What you expected to happen:
Latest versions should continue to work :-)
How to reproduce it:
I stripped down the issue to the following simple snippet:
The problem does not show up on local runs on Mac M3 or on Windows. It only happens when running the code on Linux in a Kubernetes pod. As we only have ARM nodes, I don't know if this is an ARM-only problem.
When using DeltaLake v0.19.2 the above works without error.
When using DeltaLake > v0.20.0 (0.22.0, 0.24.0 also failing) we see the following error:
More details:
The text was updated successfully, but these errors were encountered: