Troubleshooting reference(故障排查参考)¶
This page describes several common issues with Foundry Rules and steps to debug.
Error messages¶
ReadonlyObjectError¶
Make sure that each object you created has a writeback dataset associated. Review the build writeback datasets step of authoring and running a rule for more information.
400: Actions:InvalidParametersForApply¶
Some required parameters were not provided in the Action request. Verify that the Actions are configured properly.
Proposal diff not displayed correctly for custom property¶
To get the proposal widget to display diffs correctly, follow these steps:
-
In the Workshop app, add the
new_<PROPERTY>property to the Properties grouped by section in the Proposal Reviewer widget configuration. It is not necessary to select the "current" value here. -
If desired, edit the property name to remove the ”new“ prefix.

-
Add the
foundry-rules.property-diff-for:ID_OF_NEW_PROPERTYtype class to the current property of the proposal object. Note that type classes are characterized by a kind and a name, written out askind.name. In the case offoundry-rules.property-diff-for:new_<PROPERTY>, the kind isfoundry-rulesand the name isproperty-diff-for:new_<PROPERTY>.
Older errors¶
Prior to July 2022, Foundry Rules (previously known as Taurus) required additional configuration and used slightly different concepts. The following errors are associated with that process. If you deployed Foundry Rules after July 2022 and you encounter one of the issues below, try navigating to the Workflow Configuration Editor to see if there are any errors in the workflow.
Taurus:MissingOntologyInformation¶
This error indicates that the requested Ontology information, as identified in the error message, either does not exist or the transform does not have permissions to access it. Check the following steps to remediate the error:
- Verify that the RID or ID in the message exists in the Ontology Manager.
- Verify that all object types and relations used in the Foundry Rules Workshop application are imported into the Project using the Ontology Imports helper within the Settings tab of the Code Repository.
- Verify that the RIDs of all object types and relations used in the Foundry Rules Workshop application are listed in the
@AdditionalInputssection at the top of the transform code. Learn more about using@AdditionalInputs. - Make sure all the backing datasets for the object types and many-to-many relations used in the Foundry Rules Workshop application are imported into the Project using the Project References section of the Project view. This includes any objects or relations backed by Restricted Views.
TransformsGradlePlugin:StaticTaurusDependencyDisallowed¶
This error indicates that declaring a static version number dependency on tau-execution-core is no longer allowed. To remediate this error, change the declared version to be the version range [0,1[ instead of the static version number:
- First, navigate to the Code Repository that contains the Foundry Rules transform.
- Turn on Show hidden files and folders.
- Within the Project level
build.gradlefile, change the linecompile "com.palantir.tau-execution:tau-execution-core:0.x.x"tocompile "com.palantir.tau-execution:tau-execution-core:[0,1[". - If there is another line,
compile "com.palantir.tau-grammar:tau-grammar-api-objects:0.x.x", then delete this line. - Commit the result and the checks should pass.
The Rule Editor preview does not match the output from the Foundry Rules transform¶
- Verify that the input datasets of the Foundry Rules transform correspond to the ones used to back your objects in the Rule Editor preview.
- Verify that the flag
.shouldMatchContourExecutionBehavior(true)is set totruein the Foundry Rules transform (example below). This flag ensures that the execution of the logic performed by the Foundry Rules transform is the same as in the Rule Editor preview.
// Configuring the Foundry Rules Rule Runner
Args ruleRunnerArgs = new TaurusRuleRunner.Args.Builder()
.rules(new Rules.Builder()
.logicColumnName("RuleLogic")
.ruleIdColumnName("RuleId")
.dataset(rulesDataset)
.build())
.putSources(SourceReference.objectTypeId("employee"), source)
// set to true to ensure the rule execution output matches the rule editor widget's preview
.shouldMatchContourExecutionBehavior(true)
.context(transformContext)
.build();
Taurus:UnknownMeasureName¶
This error can occur when a sensor object is either missing or the transform does not have the correct permissions. Check the following to remediate the error:
- Check that the RID of the link between the root object and the sensor object is imported into the Project using the Ontology Imports helper within the Settings tab of the Code Repository.
- Check that the RID of the link between the root and sensor object is listed in the
@AdditionalInputssection at the top of the transform code. - Check that the backing dataset of the sensor object is listed in the
@AdditionalInputssection at the top of the transform code. - Check that the backing dataset of the sensor object is imported into the Project using the Project References section of the Project view.
Verify that you have followed all the steps in the deployment guide.
中文翻译¶
故障排查参考¶
本文介绍 Foundry Rules 的若干常见问题及调试步骤。
错误消息¶
ReadonlyObjectError¶
请确保创建的每个对象都关联了回写数据集。有关更多信息,请参阅编写和运行规则文档中的"构建回写数据集"步骤。
400: Actions:InvalidParametersForApply¶
Action 请求中未提供某些必需参数。请验证 Actions 配置是否正确。
自定义属性的提案差异显示不正确¶
要使提案小部件正确显示差异,请按以下步骤操作:
-
在 Workshop 应用中,将
new_<PROPERTY>属性添加到提案审核人小部件配置中的按部分分组的属性中。此处无需选择"当前"值。 -
如有需要,可编辑属性名称以移除"new"前缀。

-
将
foundry-rules.property-diff-for:ID_OF_NEW_PROPERTY类型类添加到提案对象的当前属性中。请注意,类型类由种类和名称组成,格式为kind.name。在foundry-rules.property-diff-for:new_<PROPERTY>中,种类为foundry-rules,名称为property-diff-for:new_<PROPERTY>。
旧版错误¶
在 2022 年 7 月之前,Foundry Rules(原名 Taurus)需要额外配置,并使用略有不同的概念。以下错误与该过程相关。如果您在 2022 年 7 月之后部署了 Foundry Rules 并遇到以下问题,请尝试导航至工作流配置编辑器,查看工作流中是否存在错误。
Taurus:MissingOntologyInformation¶
此错误表示请求的本体信息(如错误消息中所示)不存在,或转换没有访问权限。请检查以下步骤以修复错误:
- 验证消息中的 RID 或 ID 是否存在于本体管理器中。
- 验证 Foundry Rules Workshop 应用中使用的所有对象类型和关系是否已通过代码仓库设置选项卡中的本体导入助手导入到项目中。
- 验证 Foundry Rules Workshop 应用中使用的所有对象类型和关系的 RID 是否已列在转换代码顶部的
@AdditionalInputs部分中。了解更多关于使用@AdditionalInputs的信息。 - 确保 Foundry Rules Workshop 应用中使用的对象类型和多对多关系的所有支持数据集已通过项目视图的项目引用部分导入到项目中。这包括任何由受限视图支持的对象或关系。
TransformsGradlePlugin:StaticTaurusDependencyDisallowed¶
此错误表示不再允许声明 tau-execution-core 的静态版本号依赖。要修复此错误,请将声明的版本改为版本范围 [0,1[,而不是静态版本号:
- 首先,导航至包含 Foundry Rules 转换的代码仓库。
- 开启显示隐藏文件和文件夹。
- 在项目级别的
build.gradle文件中,将行compile "com.palantir.tau-execution:tau-execution-core:0.x.x"改为compile "com.palantir.tau-execution:tau-execution-core:[0,1["。 - 如果存在另一行
compile "com.palantir.tau-grammar:tau-grammar-api-objects:0.x.x",则删除该行。 - 提交更改,检查应能通过。
规则编辑器预览与 Foundry Rules 转换的输出不匹配¶
- 验证 Foundry Rules 转换的输入数据集是否与规则编辑器预览中用于支持对象的输入数据集一致。
- 验证 Foundry Rules 转换中的
.shouldMatchContourExecutionBehavior(true)标志是否设置为true(示例如下)。此标志确保 Foundry Rules 转换执行的逻辑与规则编辑器预览中的逻辑一致。
// 配置 Foundry Rules 规则运行器
Args ruleRunnerArgs = new TaurusRuleRunner.Args.Builder()
.rules(new Rules.Builder()
.logicColumnName("RuleLogic")
.ruleIdColumnName("RuleId")
.dataset(rulesDataset)
.build())
.putSources(SourceReference.objectTypeId("employee"), source)
// 设置为 true 以确保规则执行输出与规则编辑器小部件的预览匹配
.shouldMatchContourExecutionBehavior(true)
.context(transformContext)
.build();
Taurus:UnknownMeasureName¶
当传感器对象缺失或转换没有正确权限时,可能出现此错误。请检查以下内容以修复错误:
- 检查根对象与传感器对象之间链接的 RID 是否已通过代码仓库设置选项卡中的本体导入助手导入到项目中。
- 检查根对象与传感器对象之间链接的 RID 是否已列在转换代码顶部的
@AdditionalInputs部分中。 - 检查传感器对象的支持数据集是否已列在转换代码顶部的
@AdditionalInputs部分中。 - 检查传感器对象的支持数据集是否已通过项目视图的项目引用部分导入到项目中。
请验证您是否已遵循部署指南中的所有步骤。