marklogic - 运行 xdmp 时无法分配内存 :document-filter() in spawn-function()

标签 marklogic

我有一个在二进制文档上运行 xdmp:document-filter() 的函数。我这样调用它:

let $doc-metadata-and-text := xdmp:document-filter(fn:doc("/ediscovery/mydocument.doc")/binary())

当我将其放入spawn-function() 中时,出现内存不足错误。这是我在日志文件中看到的内容:

2017-01-10 11:53:52.038 Notice: TaskServer: SVC-PROCESSRUN: xdmp:document-filter(fn:doc("/ediscovery/mydocument.doc")/binary()) -- Process run error: fork: Cannot allocate memory

尽管如果我从 XQuery main 调用 xdmp:document-filter() ,它工作得很好。

有什么建议吗?

最佳答案

xdmp:spawn-function 使用任务服务器中的线程执行任务。它有自己的设置,并且与通过查询控制台或其他应用程序服务器运行它的上下文不同。

在您的配置组下,查看任务服务器配置并考虑更改max-inference-size

但是,更改内存/线程设置应谨慎进行,因为它会改变服务器使用有限资源的方式。就您而言,令人困惑的部分是应用程序服务、任务服务器以及任何其他应用程序服务器的默认设置都将设置默认为相同的数量。

https://docs.marklogic.com/admin-help/task-server

关于marklogic - 运行 xdmp 时无法分配内存 :document-filter() in spawn-function(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41579249/

相关文章:

marklogic - declareUpdate 导致延迟

xml - 如何在 Marklogic 中为 Element 声明命名空间?

json - 将 MarkLogic EVAL REST 服务输出作为 JSON 返回

java - 是否可以使用 XCC 查询 Marklogic,而不使用 'AdhocQuery'

marklogic - 如何在 MLCP -option_permissions 中设置多个权限

java - 无法设置MarkLogic Spring Batch基本应用

templates - MarkLogic 中的 XQuery 模板不显示任何值,只显示属性 (TDE)

marklogic - 如何保证元素值的唯一性?

sparql - MarkLogic 返回的数字不使用科学记数法

xquery - MarkLogic 8 - XQuery - cts :search - Change database programmatically