Troubleshooting RDM
Learn how to troubleshoot RDM errors.
This topic covers troubleshooting scenarios, such as the lookup types not being available in the MDM tenant or lookup types are available in the MDM tenant but not appearing in the Hub.
Environments
MDM environment variable | Description | Example |
---|---|---|
{MDM_ENVIRONMENT} |
Set MDM environment url instead of variable {MDM_ENVIRONMENT} | In the case of MDM environment pilot.reltio.com, replace on https://pilot.reltio.com/ |
{MDM_TENANT} | Set MDM tenant instead of variable {MDM_TENANT} | For example jtZIWpvnklZfrox |
RDM environment variable | Description | Example |
---|---|---|
{RDM_AUTH_SERVICE} |
Set Auth service that used by RDM service | In the case of RDM production service, replace {RDM_AUTH_SERVICE} on https://auth.reltio.com/ |
{RDM_ENVIRONMENT} |
Set RDM service | In the case of RDM production service, replace {RDM_ENVIRONMENT} on https://api-dot-prod-155422.appspot.com/ |
{RDM_TENANT} | Set RDM tenant instead of variable {RDM_TENANT} | For example AbcRdmDev |
{RDM_LOOKUP_TYPE} |
Set RDM lookup type instead of variable {RDM_LOOKUP_TYPE} Note: RDM lookup always starts with | For example rdm/lookupTypes/HCA_TYP_CD |
Case 1: MDM UI. Dependency between attributes does not work
Problem: MDM tenant has RDM lookups, but Hub does not show the dependency between attributes.
Check 1.1. Make sure that Hub uses Read/Edit Mode (dependents between attributes is supported only by Read/Edit mode)
- Open Tenant UI configuration (e.g.
reltio-ui-configuration / pre-01 / plugins / ABCOneDemo_z3HmdwMqJLHKjH1 / com.reltio.plugins.organization.json
) - Check that "Attribute View" uses the correct class.
UI configuration for Profile view must be similar to the following:
..."id": "com.reltio.plugins.entity.org.AttributeView","class": "com.reltio.plugins.entity.attributes.AttributesView"...
Check 1.2 Make sure that dependence between attributes is configured in MDM Tenant L3.
- Open MDM tenant business configuration.
- Make sure that the "parent" attribute has the
"dependentLookupAttributes"
section and this section is linked to "children" attribute.
If parent attribute is "Customer type", children attribute is "Customer Sub Type, in this case, configuration must be as follows:
...
{
"label": "Customer Type",
"name": "TypeCode",
"type": "String",
"URI": "configuration/entityTypes/HCA/attributes/TypeCode",
"lookupCode": "rdm/lookupTypes/HCA_TYP_CD",
"dependentLookupAttributes": [
"configuration/entityTypes/HCA/attributes/SubTypeCode"
]
},
{
"label": "Customer Sub Type",
"name": "SubTypeCode",
"URI": "configuration/entityTypes/HCA/attributes/SubTypeCode",
"lookupCode": "rdm/lookupTypes/HCA_SUBTYP_CD"
},
...
Case 2: Hub/API doesn't have RDM lookups
Problem: MDM tenant has no RDM lookups or list of RDM lookups on Hub is empty
Check 2.1. Make sure that MDM API has RDM lookups- Get RDM lookup type on Data-load node (send to balancer with header: xxx-client: false)
Get lookup codes by lookup type
POST: {MDM_ENVIRONMENT}/reltio/api/{MDM_TENANT}/lookups/list HEADER: xxx-client: false BODY: { "type": "{RDM_LOOKUP_TYPE}" }
- Get RDM lookup type on UI node (send to balancer with header: xxx-client: true)
Get lookup codes by lookup type (UI node)
POST: {MDM_ENVIRONMENT}/reltio/api/{MDM_TENANT}/lookups/list HEADER: xxx-client: true BODY: { "type": "{RDM_LOOKUP_TYPE}" }
Note: If you do not know which RDM environment and Auth service to be used, contact Reltio Customer Support.
GET: {MDM_ENVIRONMENT}/reltio/tenants/{MDM_TENANT}
...
"rdmConfig": {
"serviceUri": "{RDM_ENVIRONMENT}",
"oauthInstance": "{RDM_AUTH_SERVICE}/oauth/token"
},
...
GET: {MDM_ENVIRONMENT}/reltio/api/{MDM_TENANT}/configuration
check "rdmTenantId
" key-must contain the ID of the correct RDM tenant
Link on RDM tenant in the MDM business configuration
..."rdmTenantId": "{RDM_TENANT}",...
Check 2.4. Make sure that the MDM business tenant configuration contains a link to the RDM lookups
GET: {MDM_ENVIRONMENT}/reltio/api/{MDM_TENANT}/configuration
Check lookupCode
field for entity attributes that must use RDM lookups. All of them must be linked to RDM lookup types.
rdm/lookupTypes/
.Description | Example |
---|---|
Attribute linked to old lookup |
MDM Entity attribute uses old lookup
|
Attribute linked to RDM lookup |
MDM Entity attribute uses RDM lookup
|
Get MDM-RDM Connection Statistics
GET: {MDM_ENVIRONMENT}/reltio/status/rdmStatsConsider the following points :
- "Update"- time-stamp of last synchronization
- "Transcode request"- number of lookup transcode operations on MDM side
- "Transcode errors"- number of transcoding operations that failed
- "Values"- number of RDM lookup values upload to MDM
If all the checks pass and the issue persists, then raise the issue with us, see topic Need some help?.
Example of MDM-RDM connection statistics
{ "http://api-dot-tst-01-144618.appspot.com/": { "Client statistics": { "Status":
"OK", "RDM service": "http://api-dot-tst-01-144618.appspot.com/", "OAuth service":
"https://auth-stg.reltio.com/oauth/token", "RDM tenants": { "rdm": 1490706311256,
... } }, "Transcode statistics": { "rdm": { "Transcode requests": 98, "Transcode
errors": 0, "Update": 1492168553421, "Values": 3133, "Code cache size": 12536,
"Value cache size": 9402, "Approximate size": "1 MB" },.... } } }
Case 3: Hub/API has RDM Lookups, Transcode process returns error
Problem: In Hub, the list of lookups are correct, but when you try to apply changes, attribute in the saved entity contains error messages.
Error Message | Possible Reason |
---|---|
"1003: RDM canonical value mapping not found in tenant" | RDM Lookup does not contain mapping for source that you use in the entity (see case 3.2), RDM Lookup Type is disabled (see case 3.4.), or RDM Lookup Code (or lookup code mapping) is disabled (see case 3.3) |
"1000: Tenant [AbcRdmDev] not found in RDM service" | MDM cannot connect to RDM (see case 2.4) |
Attribute country
is linked with lookup type rdm/lookupTypes/Country
Entity has the value AS
that came from source MUI
and has a lookupError
.
MDM Tenant Configuration
... "attributes": [ { "label": "Country", "name": "TestCountry",
"description": "Test country for RDM", "type": "String", "URI":
"configuration/entityTypes/ForRDM/attributes/TestCountry", "lookupCode":
"rdm/lookupTypes/Country" },...
Entity JSON Contains "LookupError"
{noformat}... "TestCountry": [ { "type":
"configuration/entityTypes/ForRDM/attributes/TestCountry", "ov": true, "value":
"AS", "lookupError": "1003: RDM canonical value mapping not found in tenant [rdm]",
"URI": "entities/aqP7mvu/attributes/TestCountry/utzQaz4I" } ] }, "crosswalks": [ {
"URI": "entities/aqP7mvu/crosswalks/10qQxT644", "type":
"configuration/sources/MUI", "value": "MUI.abcbcbcbcsdsds", "attributes": [
"entities/aqP7mvu/attributes/TestCountry/utzQaz4I" ] }...
Check 3.1. Make sure that you get the same error when you transcode lookup directly on RDM.
Transcode lookup value directly on RDM:
POST: {RDM_ENVIRONMENT}/transcode/{RDM_TENANT}/value BODY: { "type":
"rdm/lookupTypes/Country", "value": "AS", "source": "MUI" }
Check 3.2. Make sure that RDM the lookup code has the required mappings
Get RDM Lookup Code
GET: {RDM_ENVIRONMENT}/lookups/{RDM_TENANT}/Country/AS
Make sure that the lookup has the mapping for source MUI and code AS.
RDM lookup code has a mapping section:
{... "type": "rdm/lookupTypes/Country", "code": "AS", "enabled": true,
"sourceMappings": [... { "source": "MUI", "values": [ { "code": "AS",
"value": "American Samoa", "enabled": true, "canonicalValue": false,
"downStreamDefaultValue": true } ] },... }
Check 3.3. Make sure that RDM lookup code and source mapping is enabled
Get RDM Lookup Code
GET: {RDM_ENVIRONMENT}/lookups/{RDM_TENANT}/Country/AS
Make sure that the lookup code and mapping are enabled:
{... "type": "rdm/lookupTypes/Country", "code": "AS", "enabled": true,
"sourceMappings": [... { "source": "MUI", "values": [ { "code": "AS",
"value": "American Samoa", "enabled": true, "canonicalValue": false,
"downStreamDefaultValue": true } ] },... }
Check 3.4. Make sure that RDM Lookup Type is Enabled
Get RDM Tenant Configuration
GET: {RDM_ENVIRONMENT}/configuration/{RDM_TENANT}
Lookup type must be enabled:
{ "tenantId": "rdm",... "lookupTypes": [ { "URI": "rdm/lookupTypes/Country",
"label": "Country", "enabled": true }..
Case 4: Sub-nested attribute has lookup parent in another sub-nested attribute
This scenario is not supported, a sub-nested attribute can't have another sub-nested attribute (from a different nested attribute) as a parent. For example, if you try to create an entity with a lookup sub-nested attribute in Nested1 and a lookup parent sub-nested in Nested2.
Supported scenarios:
-
A sub-nested attribute may have a simple attribute as the parent.
-
A simple attribute may have a sub-nested attribute as parent.