2015-01-08 45 views
0

我們在Cassandra數據中看到一個有趣的現象。我們正在運行Apache Cassandra 2.0.10和CQL3。我們專門使用CQL。Cassandra的數據似乎已經回到了時間

最近(過去1個月)的表格變化似乎已經丟失。我們懷疑這可能與做一些刪除操作然後重新啓動有關。

有沒有人看到這個?

回答

1

您正在運行每週修復(並且如果使用自定義gc_grace_seconds,在寬限期內至少進行一次修復)?如果一個節點關閉了3個小時,你是否在重新加入後進行修復?你可能看到殭屍數據。刪除創建墓碑,通過壓縮收集這些墓碑。你的墓碑可能沒有傳播到下層節點,如果它們比交接時間長,當它們出現時,他們不知道刪除發生了。因此,他們將獲得他們的數據,並將這些數據傳播給副本,副本對這些「新」數據一無所知。最後寫得勝,殭屍就活着。

請務必定期進行修理,如果節點停機時間超過3小時,請在加入後進行修理。

+0

節點從來沒有停機超過幾分鐘。但是,我們剛剛瞭解到某些代碼在CL = 1處讀取/寫入,而在CL = QUORUM處則有一些代碼正在讀取/寫入。我可以看到CL = 1客戶端讀取陳舊數據並重新提交爲新寫入的問題,但我需要驗證我們的CL = 1的代碼是否正在執行此操作。 –

相關問題