所有cassandra在刷新期间提交日志功能和行为

时间:2015-09-17 09:29:40

标签: cassandra cassandra-2.0 nodetool

我正在使用cassandra 2.2.1并注意到在nodetool flush commitlog 文件未被删除后(实际上可能是某些文件,我没有&#t; t看,但是 commitlog dir不是空的)。

  1. nodetool flush期间或正常 flush 期间发生了什么?是否应该在此过程中删除所有 commitlog 文件?

  2. 来自 commitlog 的数据是仅在节点修复期间使用还是在 flush 期间使用?

1 个答案:

答案 0 :(得分:5)

Commitlog文件是预先分配和重用的,而不是删除的。这提高了性能。查看更多信息here

如果节点在将memtable刷新到SSTable之前关闭,则使用commitlog。这是通过重播commitlog来重新创建memtable来完成的。当您执行刷新时,可以回收并重用commitlog中的空间。