Hue의 AI 기반 SQL 자동수정(Assistance) 기능을 쓰면 Call to AI to fix SQL query failed 오류가 나며 동작하지 않는다. Hue 백엔드 로그에는 pydantic_core가 typing_extensions에서 Sentinel을 import하지 못해 vLLM/OpenAI 호환 클라이언트 초기화가 실패하는 traceback이 남는다.
원본 케이스의 담당 엔지니어는 typing_extensions 4.6.0 이상이 필요할 것으로 보인다고 안내했으나, 공개된 pydantic-core 이슈 트래커에서는 정확한 최소 버전이 명시적으로 확인되지 않는다. 이 문서는 버전 번호 대신 import 테스트로 실제 해결 여부를 확인하는 절차를 우선한다. 원본 케이스는 워크어라운드 적용 후 최종 정상 동작을 확인하는 코멘트 없이 계정팀 후속 확인으로 넘어갔다.
Hue가 구동되는 Python 환경의 typing_extensions가 pydantic_core가 요구하는 Sentinel을 포함한 버전보다 낮아서 발생하는 의존성 버전 문제이며, typing_extensions를 업그레이드하거나(읽기 전용 파일시스템이면 대체 경로에 설치) 이 문제가 없는 최신 Hue 빌드로 올리는 것이 해결책이다.
확인 수준: 추가 조사 해법 · 해당 케이스 적용 결과 미확인
적용 조건: <...>와 예시 DB·테이블·경로·수치는 실제 확인값으로 바꾼다. 명령과 메뉴는 참고 문서를 바탕으로 보강한 예시이며 대상 시스템에서 실행하지 않았다. 버전·원인에 따른 분기와 남은 확인 사항은 아래에 명시한다.
Hue 백엔드(또는 hue backend db pod) 로그에서 ImportError: cannot import name 'Sentinel' from 'typing_extensions' traceback을 확인해 이 문제인지 특정한다. pydantic_core -> typing_extensions 임포트 체인에서 실패하면 이 문제에 해당한다.
Hue가 쓰는 Python 가상환경의 pip 위치를 확인하고 typing_extensions을 업그레이드한다.
/opt/hive/build/env/bin/pip install --upgrade typing_extensions
읽기 전용(Read-only) 파일시스템이라 위 명령이 Permission denied로 실패하면, 쓰기 가능한 임시 경로에 설치해 우회한다.
mkdir -p /tmp/site-packages
/opt/hive/build/env/bin/pip install \
--target=/tmp/site-packages \
--upgrade typing_extensions --no-deps
# 또는 가상환경을 활성화한 뒤 설치
source /opt/hive/build/env/bin/activate
pip install --upgrade typing_extensions
이 방법은 컨테이너가 재시작되면 사라지는 임시 조치다. 영구 적용은 이미지·파셀 갱신을 통해야 한다.
/opt/hive/build/env/bin/python -c "from typing_extensions import Sentinel; print('Success')"
정확히 어느 typing_extensions 버전부터 Sentinel을 제공하는지는 실제 설치된 pydantic_core 버전이 요구하는 범위에 따라 달라질 수 있으므로, 위 import 테스트로 실제 동작 여부를 확인하는 것이 특정 버전 번호를 맹신하는 것보다 안전하다.
supervisorctl restart all
AI SQL Assistance 기능을 실행했을 때 Call to AI to fix SQL query failed 오류 없이 결과가 반환되는지 확인하고, 컨테이너가 재시작된 뒤에도 조치가 유지되는지(영구 조치를 적용했다면) 확인한다.