关机前如何触发点火检查点?

时间:2018-10-12 13:36:42

标签: java ignite

我在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检查点?

1 个答案:

答案 0 :(得分:1)

您可以使用Ignition.stop(false)来避免停止当前的检查点。

不幸的是, force 检查点的唯一方法是停用集群。

请参见--deactivate control.sh命令。您也可以with code来做。

UPD::我认为强制检查点的另一种方法是在以前禁用了缓存的缓存上启用WAL,这对于数据提取工作流非常方便。