What to do if you see either a duplicate crosswalk or an attribute not being updated or visible in the GET JSON

Problem

We can see that you applied the update on Wednesday, July 9, 2025, at 11:37:26.609, and we confirm that the attribute was added.  The historical slice for the entity returned a correct result and a visible attribute for configuration/entityTypes/Product/attributes/ProductCableReels/attributes/ProductID.

{
"uri": "activities/a646635d-4832-4d24-86e6-11129d120d56",
"user": "AFL_RIH_INTEGRATION_CLIENT_ID",
"timestamp": 1752061046609,
"items": [
{
"id": "00004-0kwrwuy",
"user": "AFL_RIH_INTEGRATION_CLIENT_ID",
"method": "POST",
"url": "/reltio/api/5hoElZPJe5P0i5w/entities",
"clientType": "udl-default",
"timestamp": 1752061046609,
"objectUri": "entities/0OsrWRU",
"objectType": "configuration/entityTypes/Product",
"objectLabel": "REL10091",
"data": {
"type": "ENTITY_CHANGED"
},
"deltaCollection": {
"ovChanged": true,
"delta": [
{
"type": "ATTRIBUTE_ADDED",
"ProductID": [
{
"value": "1804616~266",
"ov": true,
"id": "1WfbobTo",
"sources": [
"200EBS"
],
"crosswalks": [
{
"type": "configuration/sources/200EBS",
"value": "1804616~266"
}
]
}
],

On 16 July 2025 09:00:19.036, you performed another update "entities/0OsrWRU/attributes/ProductCableReels/1Wfbo7e0/ProductID/1WfbobTo" using the same crosswalk source and crosswalk value.  Now, the attribute has disappeared and can not be reapplied.  This created a broken crosswalk.

{
"uri": "activities/c726eb8f-452e-4da7-aa54-ea1520e54d89",
"user": "aditiazad.verma@reltio.com",
"timestamp": 1752670819036,
"items": [
{
"id": "00004-0qvqv3o",
"user": "aditiazad.verma@reltio.com",
"method": "POST",
"url": "/reltio/api/5hoElZPJe5P0i5w/entities",
"clientType": "udl-default",
"timestamp": 1752670819036,
"objectUri": "entities/0OsrWRU",
"objectType": "configuration/entityTypes/Product",
"objectLabel": "REL10091",
"data": {
"type": "ENTITY_CHANGED"
},
"deltaCollection": {
"ovChanged": false
},
"eventId": "1752670819036_06ybAPA"
}
],
"itemsTotal": 1
},

 

I believe that when you attempt to reapply ProductID = "1804616~266" from 200EBS, Reltio’s survivorship engine will perform the following actions.

  1. Evaluated ReltioWinsStrategy (no new ov: true explicitly set)

  2. Fell into source-specific override for 200EBS:

    • Strategy: OldestValue

    • Since the existing value "1804616~266" already exists and is considered older, your re-post of the same value is rejected. 

Solution

Run the EntityCrosswalksConsistencyTask, follow these steps:

This task checks for entities with duplicate crosswalks, typically caused by parallel loading processes. It can also restore missing crosswalk records and remove extra records.

How to Run

  1. Required Role:

    • You must have an Admin role to run this task.

  2. API Endpoint:

    • Use a POST request to:

      {ApplicationURL}/duplicateCrosswalksCheck
    • For tenant-specific execution (Tenant Admin role):

      {ApplicationURL}/api/{tenantId}/duplicateCrosswalksCheck
  3. Parameters:

    • tenantId (required for tenant-specific endpoint): The ID of the tenant.

    • maxResultsToStore (optional): Limits the number of entity IDs with inconsistencies stored in the task status. Default is 500.

    • checkDeletedCrosswalks (optional): If true, restores missing crosswalk records that exist in the object but are missing in the EXTERNAL_CROSSWALKS column family. Default is false.

    • checkExistence (optional): If true, removes extra records in EXTERNAL_CROSSWALKS that do not correspond to real objects. Default is false.

  4. Example Request Body:

    {
      "tenantId": "yourTenantId",
      "maxResultsToStore": 500,
      "checkDeletedCrosswalks": true,
      "checkExistence": true
    }
  5. Task Control:

    • The task supports stop and pause operations.

Summary Table

Parameter

 

Required

 

Description

 

tenantId

Yes

ID of the tenant to check for duplicate crosswalks

maxResultsToStore

No

Max number of entity IDs with inconsistencies to store (default: 500)

checkDeletedCrosswalks

No

Restore missing crosswalk records (default: false)

checkExistence

No

Remove extra crosswalk records not present in real objects (default: false)

Note: The default behavior is to resolve duplicates by merging entities with the same crosswalks. You can control additional stages with the parameters above
Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.