如何修复MarkLogic“文件太大”林合并错误?

时间:2017-02-01 18:11:52

标签: marklogic marklogic-8

我正在运行MarkLogic版本8.0-6.1。

主机操作系统是红帽企业Linux服务器版本6.8(圣地亚哥)。

数据存储在具有90%可用空间的本地磁盘上。

服务器运行得相当好,但偶尔会抛出以下错误。

SVC-FILWRT: File write error: write '/var/opt/MarkLogic/Forests/clickstream-1/0000008a/ListData': File too large

关于根本原因和可能解决的任何想法?

1 个答案:

答案 0 :(得分:0)

看台通常不应该那么大。我可以想象两种情况如何发生,但不是100%肯定它们是真的:

  • 在引入合并最大大小之前,您已从版本升级了具有少量林的大型数据库,从而阻止MarkLogic直接清除已删除的碎片

  • 您运行了一些大型事务,导致内存中的站点超出了合并最大值,导致类似情况一旦持久存储到磁盘

除非你遇到文件写入错误,否则这不一定是坏事,当然。在如此大的展位中删除的​​片段可能比平时更长,但如果有足够的片段被删除,MarkLogic最终会将它们合并出来。

如果您希望尽快摆脱大型展台,可以尝试将旧版森林置于仅删除模式,强制将新更新移至其他位置,然后“触摸”该林中的所有文档,以使其迁移到其他森林之一。一旦该林只包含已删除的片段,您就可以简单地取出该森林(从数据库中取消分配),然后将其删除。之后,您可以重新创建它,并再次将空林分配给数据库。它可能会触发重新平衡,但最终应该进行调整,在数据库的所有森林中使用更均匀的平衡。

无论如何,如果您预计某些增长或大型交易,从一开始就使用多个森林可能是明智的。

对于那些想深入了解技术方面的人,我建议您阅读Inside MarkLogic文章:

https://developer.marklogic.com/inside-marklogic

数据管理部分特别与数据库,森林和林分相关。

HTH!