我正在使用javascript进行协调,在Mark Logic DHF 2.1.0中可以正常工作。我们最近升级到了Mark Logic Data Hub Framework 4.1.0。
由于我的大多数文档现在尚未统一,因此升级引起了问题。从收集器到内容,主要和三元组的协调运行都很好,但是在检查跟踪时,我发现问题出在Writer.sjs部分。
下面是Writer.sjs中的错误代码段:
xdmp.documentInsert(options.uri, envelope, {permissions : xdmp.defaultPermissions(), collections : [options.entity, "FWEWorkOrder"]});
以下是编写器中的当前代码:
xdmp.documentInsert(options.uri, envelope, [xdmp.permission('rest-reader', 'read'),xdmp.permission('rest-writer', 'update')], [options.entity, "FWEWorkOrder"]);
“消息”:“冲突的更新”,“堆栈”:“ XDMP冲突更新:xdmp.documentInsert(\“ /FWE/WorkOrder/Thailand/1003160.xml \”,XMLDocument(\“ http:// marklogic。 com / entity-services'> ...... \“),Sequence({功能:\”读取\“,roleId:\” 7089338530631756591 \“},{功能:\”更新\“,roleId:\” 15520654661378671735 \“}),Sequence(\” WorkOrder \“,\” FWEWorkOrder \“))-更新冲突xdmp.documentInsert(\” / FWE / WorkOrder / Thailand / 1003160.xml \
请注意,我的记录很少,大约是统一记录总数的1%,没有遇到任何问题。
以下是我之前在writer.sjs中的代码:
您对导致 XDMP-CONFLICTINGUPDATES 错误的原因有任何想法吗?
答案 0 :(得分:0)
该流正在成批工作,并且您在同一事务中向同一URI写入了3次,因此更新冲突。