2010-06-25 5 views
1

카산드라에게 데이터를 삽입하는 것과 관련하여 질문이 있습니다.카산드라에 데이터를 삽입 할 수 없습니다./

동일한 행키를 사용하여 데이터를 삽입하려고 한 후 열 패밀리 (CF)에서 행 키를 삭제했습니다.

프로그램이 실행되지만 명령 줄에서 행 키를 사용하여 데이터에 액세스하려고하면 결과가 0이됩니다.

왜 이런 일이 발생합니까? 삭제 된 각 키와 함께 "삭제 표시"라는 것이 있다는 것을 알고 있습니다.

하지만 압축 후 데이터를 삽입하려고합니다.

나는 사전에 내 <GCGraceSeconds> 0 </GCGraceSeconds>.

감사를 설정했습니다.

답변

2

아마도 삭제 한 시간보다 나중에 더 큰 타임 스탬프를 사용하고 있습니다.

+0

예 .. 매우 높은 타임 스탬프로 삭제하고 있습니다. 더 높은 타임 스탬프로 삭제할 때 데이터를 삽입 할 수없는 이유를 알고 계실 수 있습니까? – Sandeep

+0

@Sandeep 이것은 수년이 지났지 만, 다른 사람들이 여기 와서 궁금해하는 경우에 대비하여, 당신이 제안한대로, 묘비로 인해 대답이 나옵니다. Cassandra는 삭제 표시자를 삽입하여 삭제합니다. 삭제 표시 자에는 열과 마찬가지로 타임 스탬프가 있습니다. (행 또는 열) 삭제 표시가 해당 열보다 타임 스탬프가 더 높으면 삭제 표시가 우선되고 열 (또는 행)이 존재하지 않는 것으로 간주됩니다. –

0

이 동일한 문제가 발생하는 것을 보았지만 디버깅 할 수 없었습니다. 현재 http://wiki.apache.org/cassandra/FAQ#range_ghosts을 확인하여 문제의 원인인지 확인하고 있습니다. 어쩌면 그것은 당신을 도울 것입니다.

2

몇 개의 노드가 있습니까? 시계가 정확하게 동기화 되었습니까? 그렇지 않으면 불일치가 발생할 수 있습니다.