반응형

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 를 살펴보지 않았을까 후회했다. 

- 습관적으로 구글링에 의존하고, 어떤 설치나 재시작, 재시동 만으로 문제를 편하게 풀려고만 했던 행동들을 반성하자. 

 

 
반응형

+ Recent posts