Overview
When performing bulk updates in Reltio, you may encounter scenarios where jobs show a status of COMPLETED, but some records fail to update. This commonly occurs when updating nested attributes without the required parent structure being present on the entity.
Symptoms
You may observe the following:
- Bulk update jobs complete successfully (status = COMPLETED)
- Some records fail to update
- Task details show:
objectsFailedToUpdateURIs> 0objectsFailedErrorspopulated
Error message similar to:
AddAttribute ... doesn't have nested or referenced parent attribute in entity
- Missing or incomplete data after job execution
- No clear indication of failure unless task details are reviewed
Root Cause
This issue occurs when a bulk update attempts to add a child attribute (e.g., ConnectorClassEndB) to an entity where the parent attribute (e.g., ProductCableAssemblyAttributes) does not exist at the time of the update.
Reltio requires that:
- Nested attributes must have their parent container present
- The system does not automatically create parent attributes when adding child attributes
If the parent is missing, the update fails for that entity.
Example
A bulk update attempts to add:
ProductCableAssemblyAttributes/ConnectorClassEndB
But the entity does not contain:
ProductCableAssemblyAttributes
Result:
- The update fails for that entity
- The job still shows COMPLETED, but with failed records
How to Diagnose
Check Task Details
Use the task API:
GET /tasks/{taskId}Review:
objectsFailedToUpdateURIsobjectsFailedErrors
Review Failed Entities
Inspect a failed entity:
GET /entities/{entityId}Confirm whether the parent attribute exists.
Analyze Activity History
Check if:
- The parent attribute was deleted earlier
- A later process successfully added the full structure
This indicates a timing or sequencing issue.
Resolution
Option 1: Ensure Parent Exists Before Update
Run a preliminary update to create the parent attribute:
ProductCableAssemblyAttributes
- Then run a second update to populate child attributes
Option 2: Send Full Nested Structure (Recommended)
Instead of updating individual child attributes, send the complete structure:
ProductCableAssemblyAttributes {
ConnectorClassEndA
ConnectorClassEndB
...
}This ensures the parent and all children are created together.
Option 3: Reprocess Failed Records
Once the parent structure is present:
- Re-run the update for failed entities
- Confirm successful processing
Best Practices
To avoid this issue in the future:
- Always ensure parent attributes exist before adding child attributes
- Avoid mixing delete and add operations for nested structures in the same job
- Prefer sending complete nested payloads instead of partial updates
- Avoid running concurrent jobs that modify the same attributes
- Validate updates on a small sample dataset before large-scale execution
Key Takeaway
A COMPLETED job status does not guarantee all records were successfully updated. Always review task-level details when working with nested attributes to ensure data integrity.
Need Help?
If you continue to experience issues or need help validating your payloads, please contact Reltio Support with:
- Task ID(s)
- Sample entity ID(s)
- Payload used for the update
Comments
Please sign in to leave a comment.