MarkLogic升级不兼容(降级)

问题描述 投票:1回答:1

我最近将MarkLogic 9.x.x升级到了10.x.x(最新版本)。我们遇到此错误:

[XDMP-NESTEDMULTI:xdmp:invoke-function(function()as item()*,query ...)-无法在多语句事务内创建嵌套的多语句事务。

现在解决这个问题的方法是在错误出现之前将版本降级到9.x.x。

是否有正确的方式降级MarkLogic?甚至解决以上错误?

marklogic marklogic-9 downgrade
1个回答
0
投票

您将需要检查导致此错误的代码。查找任何eval,invoke或spawn函数,并查看哪些选项将transaction-mode设置为update

交易模式

[已弃用:改为使用updatecommit选项。]为此上下文明确设置事务模式。允许的值:auto(默认),queryupdate-auto-commitupdate。有关详细信息,请参见《应用程序开发人员指南》中的Transaction Mode

要隐式提交简单更新,请指定事务模式为update-auto-commit。更新的事务模式创建新的多语句更新事务,并且需要在代码中进行显式提交。

在一个会话中,一次只能有一个活动的多语句事务。如果指定新的多语句事务嵌套在多语句事务中,则MarkLogic会引发异常XDMP-NESTEDMULTI

https://docs.marklogic.com/8.0/messages/XDMP-en/XDMP-NESTEDMULTI

原因

在多语句事务中尝试用事务模式update进行评估或调用。

响应

改为使用事务处理模式update-auto-commit

© www.soinside.com 2019 - 2024. All rights reserved.