-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Normalization: arm64 image bad exec format #15498
Comments
I think this is where the image gets built and pushed: airbyte/tools/integrations/manage.sh Lines 253 to 293 in e8146e5
It seems like |
airbyte/normalization
arm64 image bad exec format
Hi @yagehu, thank you for bringing this to our attention! I have triaged it to the appropriate team! |
Great! A quick note is this is only reproducible on ARM64 Linux and not M1 Macbooks presumably because of Rosetta. |
Simplest repro:
|
Is this still an issue with our latest normalization images? We've been publishing arm64 normalization containers since June 10 and made a slight change to this build process which likely didn't build the image you were using at the time |
@evantahler I just tried the repro instructions above on one of our arm64 ec2 instances using the most recent tag and the issue remains:
|
I can confirm that this doesn't work on my ARM processor (seem error as above, |
A summary of some research:
The solution is to not use the https://hub.docker.com/r/fishtownanalytics/dbt base image, and build the deps (python) which we need ourselves. |
cc @airbytehq/jdbc-connectors |
Any updates on this? Still facing the same issues on 0.4.0
Many thanks! Willing to help if needed but I would need some guidance where to start. |
We are working on removing our separate normalization images, and instead be performing these same operations (still using dbt at first) as part of the normal destination containers. That means that our regular docker images (which are already multi-arch) will be used, and this problem should be indirectly solved. We are targeting early Q4, 2023 for this change |
I'm running into this issue too. Is there a way to configure the image used via the Helm chart? We can then build a custom image and push it to our repo, and use that instead while the migration happens. |
Team, I am also facing the same issue and this is a blocker for our usecase, Any ETA on resolution ? |
I'm also facing this issue. |
I'm also facing this issue when build custom airbyte-worker:0.50.11 |
We're also facing this issue. Using an ARM based architecture on our EC2 would cut our CPU by 50% - but we are getting the same error 😢 Airbyte version: 0.44.3 |
Starting next week, normalization will be removed from |
@zachloertscher - I believe we are are publishing |
@evantahler yes we are still getting this error: This forum post more clearly illustrates the issue (runs fine on ARM with Rosetta, not on Amazon Linux 2). We also tried to run it on a Amazon Linux 2 instance, specifically the |
+1. I see this with the clickhouse connector on arm64 and confirmed that the clickhouse-destination image is a multiarch image on docker hub. |
@evantahler The issue exists because the file tree is an x86_64 tree even though the image is arm64, so yes, while the arm images are being built, they're being built incorrectly.
This also explains why it works on Mx Macs, because Rosetta happily will translate those binaries. |
Ah, that makes sense (and had been what we are doing to shoehorn in a dbt build image which does not have an arm build). Starting this week, we are rolling out destinations v2 (#26028) which doesn't use dbt normalization, and is built properly from a base image that does have arm support. Destinations Snowflake v3.x and BigQuery 2.x are available today, and other destinations will be updated this year. We will not be fixing these images with dbt, as dbt is being actively removed from within Airbyte destnations. Destinations V2 images should work properly on arm hosts. |
We aren't going to pick this up. We want to stay away from orchestrating dbt. We recommend using Airflow or Dagster to do this orchestration. Docs. |
Environment
Current Behavior
If I check the logs for the normalization pod, the error message points to an arch mismatch:
My EKS cluster worker nodes are all ARM64 and it has been able to pull the correct arch image fine. It's just with the
airbyte/normalization
image.Logs
Steps to Reproduce
Are you willing to submit a PR?
Happy to but I have not been able to determine where in the github workflow the image gets pushed.
The text was updated successfully, but these errors were encountered: