我使用createOrRecoverPersistedTo方法创建了一个编年史地图。但是在重新启动jvm进程后,一些条目消失了。在我输入条目后,保持最新的键值需要多长时间?无论如何强制保持最新数据?
答案 0 :(得分:0)
理论上,除非一些"失败"事件发生就像JVM进程崩溃或终止,或服务器关闭,你不应该等到持续存在条目,操作系统内存子系统负责处理。
详细解释here,在" normal"之后使用createOrRecoverPersistedTo()
服务器重启(此外,只是JVM进程重启)是一个有害的反模式。您只需使用createPersistedTo()
。
此外,在recent issue条目中,当ChronicleMap恢复而没有发生灾难性事件时,也会报告消失,这可能是Chronicle Map中恢复过程中的一个错误。
如果重新启动服务器,映射的内存可能无法完全刷新到文件,例如: G。在Linux中" safe"应该刷新内存时的超时在" vm.dirty_expire_centisecs"中定义。配置(google it),默认情况下应为30秒。