Commitlog archive 总是会丢失最新的commitlog?

Commitlog archive will always lost the lastest commitlog?

大家

我是 运行ning cassandra2.2.8,并且已将提交日志存档自动配置为 运行。

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 有什么改进吗?

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

如果您的数据很重要,您可能需要考虑调整一致性级别。