Commitlog归档文件将始终丢失最新的commitlog?

时间:2018-08-08 08:20:44

标签: cassandra cassandra-2.0

所有人

我正在运行cassandra2.2.8,并已将commitlog存档配置为自动运行。

commitlog_archiving.properties:

archive_command=/bin/cp %path /data1/backup/%name

但是我注意到它总是复制旋转的文件,而不是当前正在工作的提交日志。例如,我有一个提交日志文件CommitLog-5-1533697321883.log现在正在工作,将其旋转到另一个文件CommitLog-5-1533697321884.log之后,该文件CommitLog-5-1533697321883.log将被存档,现在全部会话将转到CommitLog-5-1533697321884.log文件,但它根本没有备份,将在灾难恢复中丢失。

我的问题是,这是设计的行为吗?我该如何改善这种情况?还是cassandra 3有任何改进?

1 个答案:

答案 0 :(得分:0)

是的,这是设计行为-当前提交日志在设计上是不完整的-这就是为什么您可以访问已归档的提交日志。 (afaik,对于大多数数据库来说都是一样的。)

如果数据很关键,则可能需要考虑调整一致性级别。