如何强制 Commit 日志提交到 memtable?

问题描述

我正在使用 sstableloader 的命令加载备份,但我注意到新数据未加载。分析文件,新数据仍在提交日志中,而不是在备份中。如何强制“提交”内存表中的提交日志数据?

解决方法

通常,我会说尝试运行 nodetool flush。如果数据从内存刷新到磁盘,则应删除相应的提交日志文件。

如果这没有发生,我接下来会尝试使用 nodetool drain 停止节点,然后停止 Cassandra 进程。当您重新启动它时,节点将处理提交日志并将它们与存储在磁盘上的数据进行协调。