是的,默认值为8192MB(或日志文件磁盘空间的1/4,以较小者为准——如果服务器较小,则可能适用)。资料来源:
Cassandra documentation on commitlog_total_space_in_mb
.
要回答您的问题:
(1) 如果commitlog文件继续增长,可能会耗尽磁盘空间。
(2) 尚未达到配置的阈值。
在您要添加的其他问题后编辑:
刷新memtables时不会删除CommitLog。
请注意,文件大小是根据您的配置大小预先分配的——我想您已经了解了这一点,但是请注意,如果其他人试图通过
ls
或者类似的。
如果你
nodetool drain
或者重新启动,它们将被清除。否则,它们将继续增长到最大尺寸并旋转。
下面是一个测试,看看如果你强制冲水会发生什么:
nodetool tablestats keyspace.table | grep "Memtable data size"
Memtable data size: 1292049
cat /var/lib/cassandra/commitlog/CommitLog-A.log | wc -l
10418
cat /var/lib/cassandra/commitlog/CommitLog-B.log | wc -l
0
nodetool flush
nodetool tablestats keyspace.table | grep "Memtable data size"
Memtable data size: 0
cat /var/lib/cassandra/commitlog/CommitLog-A.log | wc -l
10419
cat /var/lib/cassandra/commitlog/CommitLog-B.log | wc -l
0
nodetool drain
nodetool tablestats keyspace.table | grep "Memtable data size"
Memtable data size: 0
cat /var/lib/cassandra/commitlog/CommitLog-A.log | wc -l
no such file
cat /var/lib/cassandra/commitlog/CommitLog-B.log | wc -l
0
如果它根据memtable配置自动刷新,您会看到类似的结果。在以下观察到的刷新过程中,commitlog也没有被清除: