You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级DHF与Gradle后步骤/流失败且无日志记录问题咨询

DHF 5.8.1升级后作业失败无日志记录问题排查

一、升级DHF是否需要修改代码/配置?

是的,从DHF 5.2.x升级到5.8.x属于跨版本升级,必须同步调整部分代码和配置,核心涉及以下几点:

  • 作业跟踪配置:5.8.x优化了作业日志存储逻辑,需确保Jobs数据库权限配置正确,作业执行上下文用户拥有写入该库的权限。
  • Gradle脚本适配:Gradle 6.x与5.x语法存在差异,需检查项目自定义Gradle任务(如依赖声明、任务执行顺序)是否兼容。
  • 自定义重写器迁移:旧版本重写器格式已被废弃,需通过新的createCustomRewriters.xqy服务注册自定义重写规则。

二、重写器文件变更是否会导致无日志问题?

大概率是直接原因,具体分析:

  • 旧版本的tracing系列重写器负责将作业失败追踪数据写入Jobs数据库,升级后这些文件被替换为createCustomRewriters服务,若未正确迁移自定义重写规则,会导致作业失败时的日志路由逻辑失效。
  • 新的jobs-rewriter.xml和staging-rewriter.xml是系统默认重写器,若项目依赖旧的自定义重写规则(如针对作业日志的特殊处理),未通过createCustomRewriters.xqy重新注册,会直接导致日志无法写入Jobs数据库。

三、修复建议

  • 执行DHF升级迁移脚本:运行./gradlew hubMigrate命令,自动处理重写器等配置的迁移。
  • 检查Jobs数据库权限:确认作业执行用户(默认data-hub-operator)拥有insert、update权限。
  • 验证重写器配置:调用/v1/resources/system/createCustomRewriters服务,确认自定义重写规则已正确注册,同时检查jobs-rewriter.xml中的路由规则是否包含失败日志存储路径。
  • 查看MarkLogic服务器日志:若作业无日志,可直接查看MarkLogic的ErrorLog.txt,里面会记录底层执行异常,帮助定位问题。

内容的提问来源于stack exchange,提问作者Ashish Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:00:08