Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Marklogic 为什么在添加新林时出现重新平衡错误_Marklogic - Fatal编程技术网

Marklogic 为什么在添加新林时出现重新平衡错误

Marklogic 为什么在添加新林时出现重新平衡错误,marklogic,Marklogic,我想把一大片森林一分为二。因此,我创建了一个新的林,然后将其附加到与第一个林相同的数据库,我看到重新平衡已经开始(使用默认的“Bucket”方法),但最终我注意到它已经停止将文档移动到新林。当我在管理员界面检查,我看到了这条消息 当前有一个XDMP-FORESTERR: 重新平衡林ESI-EDGAR时出错:XDMP-JNLTXNFULL:日记帐已超过其进程内事务记录的限制:txn_大小=46.813MB,当前_大小=0MB,限制=42.625MB异常。此页上的信息可能丢失 有什么办法可以解决这个

我想把一大片森林一分为二。因此,我创建了一个新的林,然后将其附加到与第一个林相同的数据库,我看到重新平衡已经开始(使用默认的“Bucket”方法),但最终我注意到它已经停止将文档移动到新林。当我在管理员界面检查,我看到了这条消息

当前有一个XDMP-FORESTERR

重新平衡林ESI-EDGAR时出错:XDMP-JNLTXNFULL:日记帐已超过其进程内事务记录的限制:txn_大小=46.813MB,当前_大小=0MB,限制=42.625MB异常。此页上的信息可能丢失


有什么办法可以解决这个问题吗?为什么会发生这种事?我有足够的磁盘空间,所以这不是问题。

如果您查看监控历史,您的资源利用率如何?您是否正在突破CPU、内存或IO的限制

尝试增大轴颈大小,和/或降低再平衡器上的油门。

再平衡节流阀的数量越小,其速度就越慢。这可能会提供足够的时间来提交和完成正在进行的事务,并避免超过日志限制

消息文本 日记帐已超过其进程内事务记录的限制:txn_大小=variable1MB,当前_大小=variable2MB,限制=variable3MB

原因 对于准备好的未提交交易的信息,日记账大小的1/16的固定限制是最大值。正在提交的事务已超过此大小限制。在当前使用此空间的事务成功提交或回滚之前,将不允许更多事务移动到准备中

响应 显式提交或回滚处于准备状态等待的XA事务。增加日志大小,为准备好的未提交事务留出更多空间


节流没有什么区别。我将日志大小从625 MB增加到999 MB,但再次出现错误。我不确定日志大小与错误消息中的数字有何关系。。。txn_大小=46.811MB,当前_大小=0MB,限制=42.625MB我是否一直提高日志大小,直到它正常工作?我必须承认我对这个问题感到惊讶。我认为MarkLogic Rebalancing是一种可靠的、经过良好测试的技术,它要么不会遇到这样的问题,要么会自动适应,可能会减少要移动的每批文件的大小。从症状上很难判断,数据库中是否有任何超大文档(可能在移动大文档的批次时超出了限制)? 如果问题是一袋真正大的文档,可能有一些方法可以解决——比如运行CoRB作业来选择随机文档,并使用节点替换重新插入。但是打开MarkLogic支持票还是值得的。大约有100个XML文件是大的或非常大的,所以我怀疑你是对的。其中一些是碎片,而另一些则不是。我想知道解决方案是否是使用移动片段而不是文档的策略,并将尚未片段化的片段化,然后重试。