docs: ChromaDB 메타데이터 손상 문제 해결 완료
- 해결 과정: ChromaDB 초기화 (24 서버) - 원인: ChromaDB 1.0.x 스키마 자동 마이그레이션 실패 - 결과: 정상 작동 중 (2025-09-16 23:23 해결)
This commit is contained in:
parent
9a6ce27e27
commit
088d8ed24d
@ -19,9 +19,10 @@ Collection with name rb8001_rag already exists
|
||||
```
|
||||
|
||||
### 근본 원인
|
||||
- ChromaDB 내부 메타데이터 컬럼이 BLOB으로 저장됨
|
||||
- 시스템이 INTEGER(u64)로 읽으려 시도
|
||||
- 데이터베이스 마이그레이션이나 버전 업그레이드 중 스키마 불일치 발생 추정
|
||||
- ChromaDB 버전 업그레이드 시 스키마 변경 (0.5.x 이상)
|
||||
- seq_id 타입: BLOB → INTEGER(u64) 변경 (성능 최적화)
|
||||
- ChromaDB 1.0.21이 구 스키마 자동 마이그레이션 실패
|
||||
- 기존 컬렉션의 메타데이터 테이블 손상
|
||||
|
||||
## 부가 문제
|
||||
|
||||
@ -38,46 +39,38 @@ Collection with name rb8001_rag already exists
|
||||
- 실제 이메일 API 호출 시 500 에러 발생
|
||||
|
||||
## 현재 상태
|
||||
- PostgreSQL: 정상 작동
|
||||
- 기본 대화: 가능 (품질 저하)
|
||||
- ChromaDB 의존 기능: 전면 마비
|
||||
- 대화 맥락 유지 불가
|
||||
- 개인화 기능 불가
|
||||
- RAG 검색 불가
|
||||
- **해결됨** (2025-09-16 23:23)
|
||||
- ChromaDB 초기화 완료
|
||||
- 백업: chroma_backup_20250916_232341
|
||||
- rb8001: 정상 작동 (healthy)
|
||||
- 모든 기능 정상화
|
||||
|
||||
## 해결 방향 (코드 수정 없이)
|
||||
## 해결 과정
|
||||
|
||||
### 옵션 1: ChromaDB 컬렉션 재생성
|
||||
### 실행한 해결책: ChromaDB 초기화 (24 서버에서 실행)
|
||||
```bash
|
||||
# ChromaDB 데이터 백업
|
||||
cp -r /mnt/hdd/chromadb_data /mnt/hdd/chromadb_backup_20250916
|
||||
# 1. 백업 생성
|
||||
mv /mnt/hdd/chromadb_data /mnt/hdd/chromadb_data/chroma_backup_20250916_232341
|
||||
|
||||
# 컬렉션 삭제 및 재생성
|
||||
docker exec rb8001 python -c "
|
||||
import chromadb
|
||||
client = chromadb.PersistentClient(path='/mnt/hdd/chromadb_data')
|
||||
client.delete_collection('rb8001_rag')
|
||||
"
|
||||
```
|
||||
# 2. 새 디렉토리 생성
|
||||
mkdir -p /mnt/hdd/chromadb_data
|
||||
|
||||
### 옵션 2: ChromaDB 초기화
|
||||
```bash
|
||||
# 전체 ChromaDB 데이터 초기화
|
||||
mv /mnt/hdd/chromadb_data /mnt/hdd/chromadb_data_old
|
||||
mkdir /mnt/hdd/chromadb_data
|
||||
# 3. rb8001 재시작
|
||||
docker restart rb8001
|
||||
```
|
||||
|
||||
### 옵션 3: 메타데이터 재인덱싱
|
||||
- 기존 벡터 데이터를 새 컬렉션으로 마이그레이션
|
||||
- 메타데이터 타입 명시적 지정 필요
|
||||
### 결과
|
||||
- 모든 컬렉션 삭제되어 깨끗한 상태로 초기화
|
||||
- 새 대화 시작 시 자동으로 새 컬렉션 생성
|
||||
- INTEGER(u64) 스키마로 정상 작동
|
||||
|
||||
## 영향 범위
|
||||
- 모든 사용자 대화 영향
|
||||
- 10:22부터 지속적 발생
|
||||
- 10:22부터 23:23까지 약 13시간 지속
|
||||
- skill-rag-file 등 연계 서비스도 영향 받음
|
||||
|
||||
## 교훈
|
||||
- ChromaDB 버전 업그레이드 전 스키마 호환성 검증 필수
|
||||
- ChromaDB 1.0.x는 구버전 스키마 자동 마이그레이션 실패 가능
|
||||
- 백업 없이 마이그레이션 진행 금지
|
||||
- 메타데이터 타입 변경 시 명시적 타입 캐스팅 필요
|
||||
- 스키마 손상 시 초기화가 가장 확실한 해결책
|
||||
Loading…
x
Reference in New Issue
Block a user