MarkLogic升级不兼容(降级)

MarkLogic升级不兼容(降级),marklogic,marklogic-9,downgrade,marklogic-10,Marklogic,Marklogic 9,Downgrade,Marklogic 10,我最近将MarkLogic 9.x.x升级到了10.x.x(最新版本)。 我们遇到了以下错误: XDMP-NESTEDMULTI:XDMP:invoke函数(函数()作为项()*,查询…)--无法在多语句事务中创建嵌套的多语句事务 现在我们解决这个问题的方法是在错误出现之前将我们的版本降级到9.x.x 是否有正确的方法降级MarkLogic? 或者甚至解决上述错误?您需要检查导致此错误的代码。查找任何eval、invoke或spawn函数,并查看哪些选项将事务模式设置为update 交易模式 [

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

XDMP-NESTEDMULTI:XDMP:invoke函数(函数()作为项()*,查询…)--无法在多语句事务中创建嵌套的多语句事务

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

是否有正确的方法降级MarkLogic?
或者甚至解决上述错误?

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

交易模式

[已弃用:改用
更新
提交
选项。]明确为此上下文设置事务模式。允许的值:
自动
(默认)、
查询
更新自动提交
更新
。有关详细信息,请参阅《应用程序开发人员指南》中的

要隐式提交简单更新,请指定
update auto commit
的事务模式。更新的事务模式创建一个新的多语句更新事务,并要求在代码中显式提交

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

原因

在多语句事务中尝试使用事务模式
update
执行eval或invoke

响应


改用事务模式更新自动提交。

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

交易模式

[已弃用:改用
更新
提交
选项。]明确为此上下文设置事务模式。允许的值:
自动
(默认)、
查询
更新自动提交
更新
。有关详细信息,请参阅《应用程序开发人员指南》中的

要隐式提交简单更新,请指定
update auto commit
的事务模式。更新的事务模式创建一个新的多语句更新事务,并要求在代码中显式提交

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

原因

在多语句事务中尝试使用事务模式
update
执行eval或invoke

响应


使用事务模式
更新自动提交

无法降级。您唯一的选择是建立一个新的ML9.x集群,并使用类似于MLCP的东西迁移您的文档。但似乎将来对ML9的更新可能会导致相同的错误,因此更好的选择可能是联系支持部门帮助您解决该错误。与其尝试降级,不如专注于解决问题。如果您共享了
xdmp:invoke-function()
call的代码,就可以更容易地帮助诊断和建议更改。我同意Mads的观点,向前推进更好。正如一般建议一样,升级前一定要进行备份,这样你就可以在新的ML9集群中恢复备份,以防你需要返回。没有降级的方法。您唯一的选择是建立一个新的ML9.x集群,并使用类似于MLCP的东西迁移您的文档。但似乎将来对ML9的更新可能会导致相同的错误,因此更好的选择可能是联系支持部门帮助您解决该错误。与其尝试降级,不如专注于解决问题。如果您共享了
xdmp:invoke-function()
call的代码,就可以更容易地帮助诊断和建议更改。我同意Mads的观点,向前推进更好。正如一般建议一样,升级前一定要进行备份,这样您就可以在新的ML9集群中恢复备份,以防需要返回。。