Hello everyone, I'm having issue with my environme...
# troubleshooting
v
Hello everyone, I'm having issue with my environment, it was running fine and then this morning I did a deploy that rebuild the meltano image and now we're getting this error:
Copy code
code=1 message=ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject name=meltano
We're using meltano 2.15 and python 3.9.19. The image is run on ECS task through airflow. The changes I've made were to a .yml so I don't know why the rebuild is causing this. Anyone else faced a similar problem? I'm using tap-postgres, tap-mysql and meltano SDKs, all of them were failing.
I did a rollback on the image but now I'm afraid to deploy new changes as the image build might break everything again
e
Do you know if this is coming from Meltano or from one of your plugins? The underlying cause is surely the same as https://github.com/MeltanoLabs/target-snowflake/issues/206, so depending on where the numpy dependency is being pulled, it would require you to add a
numpy<2
constraint. See also https://github.com/numpy/numpy/issues/26710 for the issue reported by an Airflow maintainer.
r
We had an issue with NumPy 2.0.0 as an unpinned sub-dependency this morning. Nice to see it's making the rounds! FWIW we fixed by pinning the offending plugin to a known working version, as Edgar has said.
v
We're using poetry for one of our pipelines built using the meltano SDK that has this line in the poetry.lock file:
Copy code
parquet = ["numpy (>=1.22)", "numpy (>=1.22,<1.25)", "pyarrow (>=13)"]
r
AFAIK
poetry.lock
isn't respected when `pip install`ing via a git URL.
Looks like that was the case a while ago, but should work now... https://github.com/python-poetry/poetry/issues/321#issuecomment-458205972
👍 1
v
This seems to be the issue, our pipelinewise-target-snowflakeis is from Transferwise and everytime meltano creates a new venv for a tap/target is setting our numpy to version 2.0.0
s
Same issue with me today and the
tap-bigquery
plugin. I can’t figure out it’s possible to tell meltano install to pin numpy<2.0.0 or if I need to fork the plugins and pin in myself by modifying the config.py. There’s got to be a better way to deal this though….
r
You can pin in the `pip_url`:
Copy code
pip_url: git+<https://github.com/z3z1ma/target-bigquery.git|https://github.com/z3z1ma/target-bigquery.git> numpy<2
There is also this feature proposal which would prevent these kinds of issues from happening: https://github.com/meltano/meltano/issues/6416
💡 4
s
Thanks Reuben! I didn’t know about that syntax for
pip_url
, you just saved my day!
😄 1
v
Thanks Reuben! It solved my issue as well
np 1