26-8-4 문제가된 hivemind와 jussi수정을 위한 작업과정에 대해
스팀 블록체인에서 불러오는 과정에서 문제가 생긴 부분에 대한 향후 작업 과정을 정리해 보았습니다
jussi란 캐시와 같은 역할을 하고 hivemind란 데이타 베이스 역할을 합니다
앞으로 작업은 다음과 같습니다.
정식으로 완전하게 수정되어 서비스가 완전히 안정화되기까지는 최소 수일에서 길게는 몇 주 정도의 시차가 소요될 것으로 예상됩니다.
단순히 코드 한 줄 수정해서 끝나는 단일 작업이 아니라, 백엔드 엔진 수정 → API 게이트웨이 조정 → 프론트엔드/지갑 마이그레이션이라는 3단계 레이어 전체를 건드려야 하기 때문입니다.
구체적인 단계별 진행 상황과 예상 기간을 살펴보면 다음과 같습니다.
1단계: Hivemind 비동기(Async) 취소 핫픽스 (예상: 1~3일)
- 작업 내용: DB의
statement_timeout발생 시 Hivemind 프로세스의 비동기 컨텍스트(Async context)가 이를 감지하고 메모리를 즉시 정리(Clean-up)하도록 파이썬/SQLAlchemy 코드를 수정하는 작업입니다. - 진행 상황: ety001 증인을 비롯한 코어 개발진이 이미 문제의 원인을 정확히 파악하고 작업 중(
I'm working on this)이므로, 코드 수정 및 신규 Docker 이미지(steemit/hivemind:latest) 출시 및 노드 운영자들의 재배포까지는 며칠 내로 빠르게 이뤄질 가능성이 높습니다. - 효과: 이 단계가 완료되면 메모리 점유율 99% 폭주 및 RDS I/O 급증 현상이 일단 멈추게 됩니다.
2단계: Jussi 게이트웨이 임시 방어 및 제어 (예상: 즉시 ~ 수일)
- 작업 내용: 레거시 API(
condenser_api.get_state)로 들어오는 무거운 요청을 Jussi 단에서 차단/제한하는 작업입니다. - 진행 상황: ety001 증인이 Jussi 룰을 추가하는 응급처치를 바로 진행하고 있으므로 즉각적인 방어막 역할을 하게 됩니다.
- 효과: 문제의 근본 원인인 무거운 쿼리가 RDS로 들이붓는 것을 즉시 차단하여 DB를 안정화시킵니다. (다만 일부 레거시 지갑 기능에서 일시적인 에러나 타임아웃이 응답될 수 있습니다.)
3단계: 레거시 API 완전 제거 및 신규 지갑 마이그레이션 (예상: 1~3주 이상)
- 작업 내용: 수년째 방치된
condenser_api.get_state엔드포인트를 완전히 폐기(Deprecate/Remove)하고, 구형 지갑 및 관련 DApp 프론트엔드를 신규 API를 사용하는 리팩토링 버전으로 완전히 교체하는 작업입니다. - 진행 상황: 신규 리팩토링 지갑은 이미 해당 레거시 API를 배제하고 만들어졌으나, 모든 사용자와 서드파티 서비스가 신규 지갑/인프라로 이관되고 레거시 API 호출 트래픽이 완전히 사라지기까지는 시간이 걸립니다.
💡 요약
- 긴급 장애 해소 (서비스 정상화): 1~3일 이내 (Hivemind 핫픽스 이미지 배포 및 Jussi 설정 적용 시)
- 완전하고 근본적인 문제 해결: 1~3주 내외 (레거시 API 완폐 및 신규 프론트엔드 전면 전환 완료 시)
따라서 이번 주 중으로 핫픽스 배포를 통해 급한 불(메모리 폭발 및 DB 다운)은 끌 것이며, 이후 레거시 엔드포인트 정리 작업이 순차적으로 마무리되면서 완전히 정식 해결될 것으로 보입니다.
High-Yield Curation by @steem-seven
Your content has been supported!
Maximize your passive income!
Delegate your SP to us and earn high rewards
Click here to see our Tiered Reward System
We are the hope!
This post has been upvoted by @italygame witness curation trail
If you like our work and want to support us, please consider to approve our witness
Come and visit Italy Community