我在Java应用程序中有一个嵌入式的Ignite实例。
当我关闭我的应用程序时,Ignite已正确关闭:
@PreDestroy
public void preDestroy() {
log.info("Ignite Destroying...");
ignite.close();
}
我希望在“ Ignite.close”操作期间,所有wal文件都将被刷新。但这并没有发生,当我启动我的应用程序时,我看到以下内容:
Applying lost cache updates since last checkpoint record [lastMarked=FileWALPointer [idx=255, fileOff=52006828, len=99257], lastCheckpointId=ff637138-fb4f-4012-bce6-1728e6bf5162]
我必须等待该操作完成。
如何在应用程序关闭之前手动触发wal检查点?
答案 0 :(得分:1)
您可以使用Ignition.stop(false)
来避免停止当前的检查点。
不幸的是, force 检查点的唯一方法是停用集群。
请参见--deactivate
control.sh
命令。您也可以with code来做。
UPD::我认为强制检查点的另一种方法是在以前禁用了缓存的缓存上启用WAL,这对于数据提取工作流非常方便。