硬重置时文件损坏或截断

file corruption or truncation on hard reset

当在 Chronicle Queue 上使用 ExcerptAppender(仅追加日志)时,是否保证在断电的情况下只有文件末尾可能被截断,即所有中间记录都没有损坏?如果是这样,这依赖于什么 implementation/filesystem/OS 行为?

我对 linux/x64 感兴趣。由于这是通过 mmap - 我的理解是未定义从页面缓存中刷新页面的顺序,并且磁盘可以重新排序写入。是否应该只保证 SSD 或特定文件系统?

Queue 依赖于 OS 将数据异步刷新到磁盘。 OS 通常确保数据在默认情况下在 30 秒内推送到磁盘,但是写入的页面可以按任何顺序排列,因此虽然最后 30 秒的 99% 可能被写入,但最后 30 秒的所有页面都有可能被写入秒是不可读的。这个时间边界不依赖于磁盘的选择,而是 OS.

的配置

磁盘的选择会改变可持续的 bust 吞吐量,以及在需要存档或删除之前可以写入的数据量。

如果你想要可靠的磁盘写入,我们建议使用复制到第二或第三台机器,这样如果机器死机或整个数据中心不可用,你可以继续操作。这使用 Chronicle Queue Enterprise