Ошибка XDMP-CONFLICTINGUPDATES в Writer.sjs после обновления до среды DataHub 4.1.0 - PullRequest
0 голосов
/ 16 января 2019

Я использую 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"]);

"message": "Конфликтующие обновления", "stack": "XDMP-CONFLICTINGUPDATES: xdmp.documentInsert (\" / FWE / WorkOrder / Thailand / 1003160.xml \ ", XMLDocument (\" http://marklogic.com/entity-services'>......\"), Sequence ({ возможность: \ "чтение \", roleId: \ "7089338530631756591 \"}, {возможность: \ "обновление \", roleId: \ "15520654661378671735 \"}), последовательность (\ "WorkOrder \", \ "FWEWorkOrder \") ) - Конфликтующие обновления xdmp.documentInsert (\ "/ FWE / WorkOrder / Thailand / 1003160.xml \

Обратите внимание, что очень немногие из моих записей, что составляет около 1% от общего количества согласованных записей, не сталкивались с какими-либо проблемами.

Ниже приведен мой код в writer.sjs перед:

Имеете ли вы представление о том, что вызывает ошибку XDMP-CONFLICTINGUPDATES ?

1 Ответ

0 голосов
/ 19 января 2019

Поток работает в пакетном режиме, и вы выполняете запись в один и тот же URI три раза в одной и той же транзакции, поэтому конфликтующие обновления.

...