How are filter conditions supposed to work in Reconciliation Definitions in IRE?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2023 05:35 AM
Hi All,
We currently have 2 data sources (Let's call them A and B) specified in our Reconciliation definition in the cmdb_ci_hardware table. Datasource B (Priority is 50) is new and shares a common attribute with Data Source A (Priority is 100) which is the Owned By Field.
We want to make it so that B is the only one who can update the Owned By field if the Assignment Group of the CI is of a specific group (Let's call it Group C).
We thought this can be solved by setting the filter condition of B to be "Assignment Group is Group C." While setting the filter condition of A to be "Assignment Group is NOT Group C." However, when we were testing... Datasource B cannot update the Owned By field, the IRE logs show that the field "Owned By" is a masked attribute while Datasource A can update the Owned By Field even though the filter conditions say that it can only update CI where Assignment Group is NOT Group C.
We tried testing if it was anything else so we removed the filter conditions and if we do that then the behavior is as expected, Datasource B can Update the Owned By Field and Datasource A gets blocked from updating the Owned By Field.
Any reason why this is not working or anything we can do to fix this problem?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2023 07:28 AM
Hello @jpcb0108,
Here are some possible causes and solutions for the issue:
Cause: The reconciliation rules for the Owned By field are conflicting or overlapping between data source A and data source B. This can cause the field to be masked or ignored by one of the data sources, depending on the priority and the apply to all attributes settings.
Solution: You can try to create a dynamic reconciliation rule for the Owned By field and specify the data source, the filter condition, and the action for each rule. For example, you can create a rule that says “If data source is B and assignment group is Group C, then update Owned By field”. You can also create another rule that says “If data source is A and assignment group is not Group C, then update Owned By field”. You can use the Reconciliation Rules module to create and manage dynamic reconciliation rules. For more details, see Product Documentation | ServiceNow.
Cause: The filter conditions of the data sources are not working as expected or are not applied correctly. This can cause the data sources to update or ignore the Owned By field regardless of the assignment group value.
Solution: You can try to check and verify the filter conditions of the data sources and make sure they are valid and consistent. You can also try to use different operators or fields to filter the data sources. For example, you can use “assignment group.name” instead of “assignment group” or use “is one of” instead of “is”. You can use the Data Sources module to view and edit the filter conditions of the data sources. For more details, see Product Documentation | ServiceNow.
Hope this helps
Kind Regards,
Swarnadeep Nandy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2023 11:49 AM
Hi. I actually want to understand how the rules or Owned By could be considered conflicting? I was already using the Reconciliation Rules module and for Datasource B it is set to priority 50 while Datasource A is set to priority 200?
I was also wondering why this priority doesn't work when I have filter conditions but when I remove them, it works as intended where Datasource B can update while Datasource A gets the "masked_attributes" in the IRE output logs.