1.이슈 내용
- MWAA 에서 실행됐던 snowflake 관련 dag 들이 SnowflakeOperator를 import 할때 에러를 발생시킴
- MWAA 에서 SQLAlchemy 패키지가 최신 업데이트 되면서, 아래 에러를 출력
ile "/usr/local/lib/python3.8/dist-packages/snowflake/sqlalchemy/__init__.py", line 63, in <module>
from .util import _url as URL
File "/usr/local/lib/python3.8/dist-packages/snowflake/sqlalchemy/util.py", line 8, in <module>
from sqlalchemy.engine.url import _rfc_1738_quote
ImportError: cannot import name '_rfc_1738_quote' from 'sqlalchemy.engine.url' (/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/url.py)```
2.이슈 원인
- sql_alchemy 가 1.4.42버전으로 업데이트 되면서 rfc 1738 즉 quote 처리하는 method 가 rename 되면서 import 하는 코드가 동작하지 않게 되는 이슈가 발생
3.해결 방법
- 일단 급하게 1.4.41 버전으로 다운그레이드 했지만, 버그가 수정된듯 하다.
https://github.com/snowflakedb/snowflake-sqlalchemy/issues/350
SNOW-679045: _rfc_1738_quote is no longer available in sqlalchemy 1.4.42 · Issue #350 · snowflakedb/snowflake-sqlalchemy
The latest release of sqlalchemy 1.4.42 has renamed all of the rfc 1738 stuff so this import no longer works: snowflake-sqlalchemy/src/snowflake/sqlalchemy/util.py Line 8 in be1f741 from sqlalchemy...
github.com
https://github.com/sqlalchemy/sqlalchemy/issues/8647
4.회고
- 일단 내가 생각없이 행동했던 조치는 1차 구글링, snowflake 패키지 버전 업데이트 그리고 해결이 안되자 스노우플레이크 기술이사님께 해당 이슈를 공유드리고, 에러가 나는 부분의 코드를 해석 후에 어떤 경우에 발생하는지 코드를 따라가봤다.
-이슈 공유 드리고, 30분도 안되서 기술 이사님께 github 에 관련 issue 의 링크를 공유 받았고, 다운그레이드로 일단 선 대응할 수 있었다.
- sqlAlchemy 도 오픈 소스인걸 알았음에도 왜 github 에 issue 를 살펴보지 않았을까 후회했다.
- 습관적으로 구글링에 의존하고, 어떤 설치나 재시작, 재시동 만으로 문제를 편하게 풀려고만 했던 행동들을 반성하자.
'TroubleShooting' 카테고리의 다른 글
EMR 에서 컨테이너 사용시 멀티 아키텍쳐 관련 이슈 (0) | 2023.08.09 |
---|---|
파이썬 클래스 멤버 변수의 tuple 코드 인식 실수 (0) | 2022.07.03 |
[grafana] organization 삭제로 인한 대시보드 삭제 이슈 (0) | 2022.04.16 |
[airflow] initdb 명령어 실행 시 werkzeug.utils 관련 패키지 이슈 (0) | 2021.06.17 |