프로젝트
삼성증권
사용자
관리자
버그의 증상
첨부형 전처리기 배포 시 리소스 파일 접근 실패
버그의 증상 발생 빈도
항상
적용된 버전 혹은 실험한 위치
Genos 1.8.4
전처리 입력 파일
No response
증상을 확인할 수 있는 step
관련 이슈
현상
doc_parser 도커 이미지로 배포된 전처리기 Pod(preprocessor-{id})의 파일시스템에 /app/resource 폴더가 생성되지 않고, 관리자 페이지에서 업로드한 리소스 파일(jpg·json·png·xlsx·py·html 등)이 Pod 내부로 동기화되지 않는다.
재현
- 관리자(GenPortal)에서 변경된 기본 전처리기 코드로 전처리기 생성
- 전처리기 리소스 파일 업로드 (예:
전처리기 상세 > 리소스 파일 목록에 파일 다수 업로드)
doc_parser 도커 이미지로 전처리기 배포
- 배포된 Pod에서
ls -al ~ 또는 ls -al /app/resource
→ resource 폴더 부재, 다운로드된 파일 없음
기대 동작
- 전처리기 Pod 기동 시 업로드된 리소스 파일이
/app/resource 하위에 자동 다운로드되어 전처리 코드에서 참조 가능해야 함.
해결 방향
GenOS 동일 문제를 container-services/workflow·mcp-server가 이미 FileLock + MinIO list_objects/fget_object 패턴으로 해결함. 동일 패턴을 doc_parser 전처리기에 이식한다.
변경 파일
src/common/settings.py — PREPROCESSOR_ID 필드 + MinioConfig 추가
src/util/minio_resource.py — 신규(FileLock + download_resource_files)
src/util/__init__.py — 신규
src/main.py — from preprocessor import DocumentProcessor 이전에 download_resource_files(bucket_name='preprocessor', resource_id=settings.PREPROCESSOR_ID, path='/app/resource') 호출
사전 조건(이미 충족)
- admin-api가 Pod
env로 PREPROCESSOR_ID 주입
- k8s deployment template에
llmops-minio-client-configmap·llmops-minio-client-secret envFrom 연결됨
minio==7.2.20 이미 pyproject.toml에 포함
검증
프로젝트
삼성증권
사용자
관리자
버그의 증상
첨부형 전처리기 배포 시 리소스 파일 접근 실패
버그의 증상 발생 빈도
항상
적용된 버전 혹은 실험한 위치
Genos 1.8.4
전처리 입력 파일
No response
증상을 확인할 수 있는 step
관련 이슈
현상
doc_parser도커 이미지로 배포된 전처리기 Pod(preprocessor-{id})의 파일시스템에/app/resource폴더가 생성되지 않고, 관리자 페이지에서 업로드한 리소스 파일(jpg·json·png·xlsx·py·html 등)이 Pod 내부로 동기화되지 않는다.재현
전처리기 상세 > 리소스 파일 목록에 파일 다수 업로드)doc_parser도커 이미지로 전처리기 배포ls -al ~또는ls -al /app/resource→
resource폴더 부재, 다운로드된 파일 없음기대 동작
/app/resource하위에 자동 다운로드되어 전처리 코드에서 참조 가능해야 함.해결 방향
GenOS 동일 문제를
container-services/workflow·mcp-server가 이미FileLock+MinIO list_objects/fget_object패턴으로 해결함. 동일 패턴을doc_parser전처리기에 이식한다.변경 파일
src/common/settings.py—PREPROCESSOR_ID필드 +MinioConfig추가src/util/minio_resource.py— 신규(FileLock +download_resource_files)src/util/__init__.py— 신규src/main.py—from preprocessor import DocumentProcessor이전에download_resource_files(bucket_name='preprocessor', resource_id=settings.PREPROCESSOR_ID, path='/app/resource')호출사전 조건(이미 충족)
env로PREPROCESSOR_ID주입llmops-minio-client-configmap·llmops-minio-client-secretenvFrom 연결됨minio==7.2.20이미pyproject.toml에 포함검증
ls -al /app/resource에 업로드 파일이 모두 존재/var/log/supervisor/gunicorn_stdout.log에Acquired lock·Downloading [i/N]·Completed!로그 출력[SKIP …] already exists정상 동작/run엔드포인트 회귀 확인