java - 如何在关机前触发点火检查点?
问题描述
我的 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 检查点?
解决方案
您可以使用Ignition.stop(false)
来避免停止当前检查点。
不幸的是,强制检查点的唯一方法是停用您的集群。
见命令。你也可以用代码来做。--deactivate
control.sh
UPD:我认为另一种强制检查点的方法是在之前禁用的缓存上启用 WAL,这对于数据摄取工作流很方便。
推荐阅读
- c# - 如何获得用于调试工作的 Visual Studio cmd 参数?
- google-bigquery - 在 BigQuery 中使用案例语句创建新视图
- java - 尝试在我的工具栏上显示项目时遇到问题
- swift - Choppy Animation SwiftUI 嵌套视图
- swift - iOS - 具有多个项目的 Firebase Pod 会导致警告
- python - 如何在python中按下暂停键
- c# - 使用反射将值复制到静态类属性 - System.Reflection.TargetException
- c++ - 为什么按下按钮时调用超类的 OnPaint() 方法?
- perfmon - Jmeter jp@gc - PerfMon Metrics Collector:分析问题
- python - 跨图像行运行卷积的 Keras 自定义层