flush 期间所有 cassandra 的提交日志功能和行为
All cassandra's commit log functions and behaviour during flush
我正在使用 cassandra 2.2.1
并注意到 nodetool flush
commitlog 文件没有被删除(实际上,可能有些是,我没有看不到,但是 commitlog 目录不为空)。
在 nodetool flush
期间发生了什么,或者只是定期 flush?是否应该在此过程中删除所有 commitlog 文件?
来自commitlog的数据是仅在节点修复期间使用还是在flush期间使用?
提交日志文件是预先分配和重用的,而不是删除的。这提高了性能。查看更多信息 here。
如果节点在 memtable 刷新到 SSTable 之前关闭,则使用提交日志。这是通过重播提交日志来重新创建内存表来完成的。当你进行刷新时,commitlog 中的 space 可以被回收和重用。
我正在使用 cassandra 2.2.1
并注意到 nodetool flush
commitlog 文件没有被删除(实际上,可能有些是,我没有看不到,但是 commitlog 目录不为空)。
在
nodetool flush
期间发生了什么,或者只是定期 flush?是否应该在此过程中删除所有 commitlog 文件?来自commitlog的数据是仅在节点修复期间使用还是在flush期间使用?
提交日志文件是预先分配和重用的,而不是删除的。这提高了性能。查看更多信息 here。
如果节点在 memtable 刷新到 SSTable 之前关闭,则使用提交日志。这是通过重播提交日志来重新创建内存表来完成的。当你进行刷新时,commitlog 中的 space 可以被回收和重用。