代码之家  ›  专栏  ›  技术社区  ›  Nicholas DiPiazza

在mapdb中使用“checksumheaderbypass”的成本是多少?

  •  0
  • Nicholas DiPiazza  · 技术社区  · 6 年前

    我们使用mapdb来存储在长时间运行的进程中访问过的文件列表,以便在需要中止或进程崩溃时,我们可以从中断的位置继续。

    我们希望防止损坏mapdb文件存储的崩溃。

    所以我们使用的事务是定期将更改提交到磁盘。

    但后来我注意到一件有趣的事情,如果我们在某些时候崩溃了我们的进程,我们仍然会得到错误

    标题校验和已断开。存储未正确关闭,可能已损坏。使用 DBMaker.checksumHeaderBypass() 以恢复数据。使用clean shutdown或启用事务以在将来保护存储区。

    但事实上 checksumHeaderBypass 使错误消失。用这个要多少钱 支票抬头密码 设置?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Nicholas DiPiazza    6 年前

    这里没有任何流量,因为有很多mapdb用户在sof上。所以我会把我认为最好的答案贴出来

    基本上,如果允许校验和头绕过,则可以加载mapdb,但mapdb中可能有无效项。因为如果校验和不匹配,说明内容不符合要求。所以在mapdb中可能会有一些坏数据。取决于提交存储的频率,可能会导致大量或少量数据损坏。