참고 

http://knight76.tistory.com/entry/cassandra-cassandra-%EC%84%9C%EB%B2%84%EB%A5%BC-%EC%95%88%EC%A0%84%ED%95%98%EA%B2%8C-%EC%9E%AC%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0



카산드라가 노드 장애시에도 fault tolerance을 유지하는 주요 방법 중 하나는 hinted handoff 메커니즘이다. cassandra.yaml에서 hinted_handoff_enabled이 true로 설정되어 있으면(기본 설정) 복제 노드 중 하나에 도달 할 수 없을 때 카산드라는 coordinator 노드에 hint를 저장한다.


해당 힌트는 클러스터에 속한 위치에 대한 정보를 포함한다. coordinator가 복제 노드가 다시 정상화되는 것을 알아차리게 되면 hint 정보를 복제 노드에서 replay시킨다. 


기본적으로 Cassandra는 hint 대기열이 너무 길어지는 것을 방지하기 위해 최대 3시간 동안 hint를 저장한다. cassandra.yaml의 max_hint_window_in_ms 속성(기본 3시간)이 해당 hint가 저장되는 시간을 의미한다. 


max_hin_window_in_ms 시간이 지나면 일관성을 복원하기 위해 node repair를 실행해야 한다. 

Posted by '김용환'
,