MLCP分批分离时的部分文件传输

时间:2016-07-07 05:56:42

标签: xml batch-processing marklogic marklogic-8 mlcp

在使用MLCP时,我在将文档从一个数据库复制到另一个数据库时遇到了选项文件(options.txt)中给出的' -batch_size' 选项的奇怪问题,例如如果 -batch_size = 10 并且要传输的文档数量(基于提供的基础过滤选项) 106 ,现在我执行命令: mlcp.bat -options_file "options.txt"

收到的内容泵统计信息如下:

 INFO contentpump.LocalJobRunner:com.marklogic.mapreduce.ContentPumpStats:
 INFO contentpump.LocalJobRunner: INPUT_RECORDS: 106
 INFO contentpump.LocalJobRunner: OUTPUT_RECORDS: 106
 INFO contentpump.LocalJobRunner: OUTPUT_RECORDS_COMMITTED: 100
 INFO contentpump.LocalJobRunner: OUTPUT_RECORDS_FAILED: 0
 INFO contentpump.LocalJobRunner: Total execution time: 37 sec

似乎剩余文件在批量处理后(批量大小= 10) 10 * 10 + 6 6个文档不会转移到所需的数据库

因此,不知何故,它只传输完整批次的文件而不是剩余的文件,而这些文件不能形成完整的批次。

有人可以为此建议解决方法并导致此行为。

1 个答案:

答案 0 :(得分:1)

您是否验证了"是否缺失"文件在目的地数据库中?

有一段时间(至少有导入)的错误,其中统计信息有时是不正确的,即使行为是正确的。该问题已在mlcp v8.0-4中修复。

我要检查的另一件事是目标服务器上没有记录错误。 OUTPUT_RECORDS< OUTPUT_RECORDS_COMMITTED可以指示发生了一些服务器端错误,导致某些提交失败,如下所述:

http://docs.marklogic.com/guide/mlcp/getting-started#id_33299

最后,您使用的是什么过滤器? -query_filter可以显示误报,因为它使用未经过滤的搜索。我怀疑这是你遇到的问题,但我认为值得一提。它在这里谈到了:

http://docs.marklogic.com/guide/mlcp/export#id_85989