在使用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个文档不会转移到所需的数据库
因此,不知何故,它只传输完整批次的文件而不是剩余的文件,而这些文件不能形成完整的批次。
有人可以为此建议解决方法并导致此行为。
答案 0 :(得分:1)
您是否验证了"是否缺失"文件在目的地数据库中?
有一段时间(至少有导入)的错误,其中统计信息有时是不正确的,即使行为是正确的。该问题已在mlcp v8.0-4中修复。
我要检查的另一件事是目标服务器上没有记录错误。 OUTPUT_RECORDS< OUTPUT_RECORDS_COMMITTED可以指示发生了一些服务器端错误,导致某些提交失败,如下所述:
http://docs.marklogic.com/guide/mlcp/getting-started#id_33299
最后,您使用的是什么过滤器? -query_filter可以显示误报,因为它使用未经过滤的搜索。我怀疑这是你遇到的问题,但我认为值得一提。它在这里谈到了: