MarkLogic - задание mlcp не возвращает сообщение об успешном завершении в планировщик - PullRequest
1 голос
/ 11 мая 2019

Мы используем mlcp версии 9.0.6. Платформа: Linux

Когда мы запускаем задание mlcp через наш корпоративный планировщик Zena, на Zena эта задача не выполняется, хотя mlcp успешно завершается.

Мы попытались запустить работу Gradle-согласования через ту же задачу, и она прошла успешно. Мы также попробовали простую функцию перемещения файлов, и это также успешно. Но mlcp не возвращает ожидаемый успешный ответ обратно нашему планировщику предприятия, что приводит к сбою задачи планировщика предприятия.

Ниже приведен пример журнала, возвращаемого mlcp. Как показывает журнал, загрузка mlcp прошла успешно, и я могу проверить данные в STAGING DB, однако mlcp не передает ответ об успешном завершении обратно в планировщик.

Ошибка: 19/05/09 15:47:48 INFO contentpump.LocalJobRunner: Тип содержимого: XML 19/05/09 15:47:48 ИНФОРМАЦИЯ contentpump.ContentPump: Имя работы: local_1527018875_1 19/05/09 15:47:48 INFO contentpump.FileAndDirectoryInputFormat: Всего путей ввода для обработки: 1 19/05/09 15:47:50 INFO contentpump.LocalJobRunner: выполнено 47% 19/05/09 15:47:51 INFO contentpump.LocalJobRunner: выполнено 100% 19/05/09 15:48:23 ИНФОРМАЦИЯ contentpump.LocalJobRunner: com.marklogic.mapreduce.MarkLogicCounter: 19/05/09 15:48:23 INFO contentpump.LocalJobRunner: INPUT_RECORDS: 2798 19/05/09 15:48:23 INFO contentpump.LocalJobRunner: OUTPUT_RECORDS: 2798 19/05/09 15:48:23 INFO contentpump.LocalJobRunner: OUTPUT_RECORDS_COMMITTED: 2798 19/05/09 15:48:23 INFO contentpump.LocalJobRunner: OUTPUT_RECORDS_FAILED: 0 19/05/09 15:48:23 INFO contentpump.LocalJobRunner: общее время выполнения: 35 сек

Обновление

Вот код mlcp

#!/bin/bash

mlcp.sh import -ssl \
-host testhost \
-port 8010 \
-username unm \
-password pw \
-mode local \
-input_file_path /data/SourceFiles/QA/Customer \
-input_file_type aggregates \
-aggregate_record_namespace "http://new.webservice.namespace" \
-output_collections customerstaging,customerHarmonize \
-output_permissions data-hub-role,read,data-hub-role,update \
-output_uri_prefix /customer/ \
-aggregate_record_element PartyDownload \
-thread_count 48 \
-transform_module /ext/reusefunctions/customerDocument.sjs

exit 0

У него есть явный «выход 0» в конце, но работа по-прежнему не выполняется. Мы можем успешно выполнить шаг гармонизации, как показано ниже.

(cd /data/EODH && gradle hubRunFlow -PentityName="customer" PflowName="customer-harmonize-process" -PflowType="harmonize" -PenvironmentName=uat -PthreadCount=32)

if [ $? -eq 0 ]
then
  echo "Success: Files moved."
  exit 0
else
  echo "Failure."
  exit 1
fi
...