This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.
BMC CMDB Suite
BMC Atrium Core
Any version BMC Atrium CMDB
When we reconcile our data and we are not fully aware of what we have in our datasets, we could face below error in the Reconciliation Job logs.
ARERR The dataset ID and Reconciliation Identity combination is not unique.
This error is triggered when data overlaps by identifying an unidentified CI that matches to another in the same dataset. This is as designed and it's purpose is to expose data duplication.
Note: BMC.Discovery could be any staging Dataset.
Firstly, duplicate CIs in the staging dataset or secondly, issues with reconciliation rules.
'ReconciliationIdentity' is an attribute on the Base Element class, used to identify CIs in different datasets as being the same actual CI. For example, you may use two discovery sources to find computer systems on your network and populate the data into the CMDB to different datasets, and then reconcile them into the BMC.ASSET production dataset. These three records would have the same value of 'Reconciliation Identity', but different values of Dataset ID.
You cannot have two CIs in the same dataset with the same value of ReconciliationIdentity, except if ReconciliationIdentity = 0 (unidentified). The discovery source should update the CI data in the CMDB rather than create a new entry. It is the responsibility of the integration between the discovery source and CMDB to ensure the data in it is updated - the reconciliation engine cannot "reconcile" data in a single dataset.
There are two common causes of the error message: ARERR The dataset ID and Reconciliation Identity combination is not unique.
Reconciliation rules specify the criteria to find a match of the CI in a different dataset. This rules must use attributes which will be populated and unique in the dataset. For example, if the DNSHostName will always be populated, and unique within the dataset and the class, then you may use that attribute in Identification qualifications. But if the value is not unique, you can encounter error 120092. Let's take an example:
- A Computer System is created with a value for DNSHostName in BMC.Discovery
- Reconciliation rules use DNSHostName for identification, find that no CIs exist in the BMC.ASSET dataset with the same value of DNSHostName, so it generates a new value of ReconciliationIdentity, and merges it to the BMC.ASSET dataset with the same value of Reconciliation Identity
- Later, a second Computer System is created in the same class, in BMC.Discovery, with the same value of DNSHostName.
- When the reconciliation rule looks in the BMC.ASSET dataset, matching on DNSHostName, it finds the CI merged earlier, and uses it's Reconciliation Identity
- When the Reconciliation Engine tries to update the CI with the value of Reconciliation Identity, it encounters the error 120092 because there is already another CI in BMC.Discovery with the same value
To resolve this kind of issue, first find the CI that already exists and then investigate how it was created, and whether the attributes used for identification are sufficiently unique in this case.
An example from the Reconciliation Job log:
Found matching rule group <RE001422260381PKPxQwcOAMAAXQgA> for class <BMC_COMPUTERSYSTEM> in dataset <BMC Discovery Import>
Found the match in dataset <BMC Asset> with reconciliation identity <OS-852D6B5E1B0411DBA3CE000083522DE1>
: ARERR The dataset ID and Reconciliation Identity combination is not unique.
: DatasetId: BMC.Discovery, ReconciliationId: OS-852D6B5E1B0411DBA3CE000083522DE1
Cancelled the processing of rest of the sub-tree for instance <class = BMC_Mainframe, id = OI-BDD3DDAEE62E4DE29A519FE04E295590>
To debug the data:
Search for Reconciliation Id = OS-852D6B5E1B0411DBA3CE000083522DE1
This will find the computer system that is already identified,
Look at the attributes used in the Identification rules
Search on the BMC.Discovery dataset (in our example) for a computer with matching attribute values to the Computer System with Reconciliation Identity = OS-852D6B5E1B0411DBA3CE000083522DE1
Note: One special case is when a CI exists in the CMDB but is soft-deleted (the hidden attribute 'MarkAsDelete' has a value of Yes). Typically, reconciliation jobs have a Purge activity to hard-delete the soft deleted CIs after they have been merged to the target dataset.