콘텐츠로 건너뛰기
프리뷰 모드 — 검토 전 기사가 포함되어 있습니다. 외부 공유를 삼가세요. 프로덕션에서 확인 →
The Kagari
Developer

Aptos Core, 퍼스트라이트 키 엔트리 누수를 해결하는 스테이트 KV 절단 버그 수정

2026년 9월 11일 · 1 분 소요

Aptos Core 유지보수 담당자들이 데이터베이스 프루닝 시스템의 스테이트 KV 절단 누수를 해결하는 중요한 버그 수정을 병합했습니다. PR #352에 문서화된 이 문제는 `truncate_state_kv_db_shards` 함수가 퍼스트라이트 키 생성의 고아 상태 값을 발견하고 삭제하지 못했을 때 발생했습니다.

근본 원인은 삭제할 항목을 식별하기 위해 `StaleStateValueIndexByKeyHashSchema`에 의존하는 절단 로직에 있었습니다. 그러나 퍼스트라이트 키 생성(이전 버전이 존재하지 않는 경우)은 스테일 인덱스 항목을 작성하지 않았으므로 절단 스캔이 이를 완전히 놓쳤습니다. 이로 인해 고아 `StateValueByKeyHashSchema` 항목이 절단 지점을 넘어서 남겨져 잠재적으로 데이터베이스 블로트와 성능 저하로 이어질 수 있습니다.

수정사항은 퍼스트라이트 키 생성을 위해 `version = Version::MAX`를 가진 센티널 스테일 인덱스 항목을 도입합니다. 이를 통해 기존의 `stale_since_version` 기반 스캔이 이러한 항목을 발견하고 적절히 정리할 수 있습니다. 프루너는 센티널에 대해 `is_first_write()`를 확인하여 불필요한 무작동 삭제를 건너뛰므로 효율성을 보장합니다.

테스트 커버리지가 크게 확대되었습니다: `db_debugger/truncate/mod.rs`의 테스트 스위트는 이제 500개의 계정 풀(5개에서 증가)을 사용하여 절단 대상 버전을 지나는 새로운 키 생성을 안정적으로 트리거하며, proptest 사례는 1개에서 5개로 증가했습니다. 테스트 유연성을 개선하기 위해 새로운 매개변수화 헬퍼 `arb_blocks_to_commit_with_params`가 추출되었습니다. 기존 프루너 및 상태 저장소 테스트는 계속 통과하여 하위 호환성을 확인합니다.

출처 github.com
공유
The Kagari

Kagari는 차세대 블록체인에 특화된 다국어 미디어 플랫폼입니다. 공식 뉴스, 개발자 리소스, 해커톤 업데이트를 정리하여 빌더와 사용자가 에코시스템 동향을 더 쉽게 파악할 수 있는 인포메이션 레이어를 목표로 합니다.

© 2026 The Kagari. All rights reserved.