When can there be an inconsistency in Elastic Search versus Cassandra and how can we fix such inconsistencies?


When can there be an inconsistency in Elastic Search versus Cassandra and how can we fix such inconsistencies?


In rare cases, we can have inconsistency on the Elastic Search level when some columns or rows returned or not returned from time to time. We need to know those inconsistencies to predict issues and to have a clear picture of the overall problem.

Elastic search inconsistency is indicated in the following conditions.

1. During Search issues
2. Merge Issues
3. If loaded data is not visible in the tenant
4. If we enable the search by OV feature on a tenant


Run the following request to perform background comparisons of main storage and search storage and to resolve any found inconsistencies based on the comparisons. If entities are present in search but not present in main data storage, use this request to remove these entities from search storage. If entities are present in main storage but not present in search storage, use this request to reindex the entities.

POST https://<environment URL (ex. pilot.reltio.com)>/reltio/api/{{tenant}}/esCassandraConsistencyCheck?entityType={{entityType}}&maxResultsToStore={{maxResultsToStore}}&compareVersions={{compareVersions}}


  • tenant- ID of the tenant to check
  • entityType- entity type to check (all types will be checked if this parameter is absent)
  • maxResultsToStore- the task stores URIs for inconsistent entities. This parameter is needed to prevent the consumption of large volumes of memory due to many inconsistent entities. Default value: 100.
  • compareVersions- if this parameter is set to true, then versions of objects in main and search storages will be compared. Default is false.

Check task status


While task is in progress it is displayed in the active tasks list:

GET https://<environment URL (ex. pilot.reltio.com)>/reltio/tasks

After task completes it is displayed in the tasks history list:

GET https://<environment URL (ex. pilot.reltio.com)>/reltio/tasks/history

The task history shows if an inconsistency was found ("totalIdsAbsentInCassandra", "totalIdsAbsentInEs", "totalVersionConflicts", "idsAbsentInEs", "idsAbsentInCassandra", "versionConflicts").

Note: Because this task tries to fix all found inconsistencies, but applies the fix after storing the results in its status, you may see some inconsistency in the status. Run this task one more time to check if all inconsistencies were fixed.

Additional References



Was this article helpful?
0 out of 0 found this helpful



Article is closed for comments.