sstablelevelreset — SSTable 레벨 초기화

sstablelevelreset — SSTable 레벨 초기화

LeveledCompactionStrategy가 설정된 경우, 이 스크립트는 주어진 SSTable들의 레벨(level)을 0으로 리셋하는 데 사용해요. 예를 들어 최소 SSTable 크기를 변경한 뒤 새 설정으로 컴팩션 과정을 다시 시작하고 싶을 때 유용합니다.

이 컴팩션 전략에서 레벨이 어떻게 사용되는지에 대한 정보는 Leveled Compaction Strategy(LCS) 문서를 참고하세요.

관련 문서: CASSANDRA-5271

이 도구 실행 전에 Cassandra를 반드시 중지해야 해요. 그렇지 않으면 예상치 못한 결과가 발생할 수 있으며, 스크립트는 Cassandra가 정지되었는지 검증하지 않습니다.

출처: sstablelevelreset — SSTable 레벨 초기화

본문

기본 사용법은 다음과 같습니다.

sstablelevelreset --really-reset <keyspace> <table>

really-reset 플래그는 필수예요. 이 침습적(instrusive) 명령이 실수로 실행되는 것을 막기 위한 장치입니다.

테이블을 찾을 수 없는 경우

키스페이스 또는 테이블이 스키마에 없다면(예: 테이블 이름 오타), 스크립트는 오류를 반환해요.

예시:

ColumnFamily not found: keyspace/evenlog.

테이블에 SSTable이 없는 경우

예시:

Found no sstables, did you give the correct keyspace/table?

테이블이 이미 레벨 0인 경우

레벨이 이미 0으로 설정되어 있다면 스크립트는 레벨을 변경하지 않아요.

예시:

Skipped /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db since it is already on level 0

테이블 레벨이 0으로 줄어든 경우

레벨이 아직 0이 아니라면, 0으로 리셋합니다.

예시:

sstablemetadata /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db | grep -i level
SSTable Level: 1

sstablelevelreset --really-reset keyspace eventlog
Changing level from 1 to 0 on /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db

sstablemetadata /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db | grep -i level
SSTable Level: 0

더 알아보기 (Learn more)