Sitecore Search is actively monitoring and resolving ingestion API issues. Sometimes customers might see ingestion API errors listed under their API push source in their Customer Engagement Console (CEC). There are some self-service research steps that can be done.
Ingestion API returns an incremental_update_id which is more of an acknowledgement id, that does not mean that updates happened in the system. There is a status endpoint that can be used to check the status of the update.
Solution
To check the status of Incremental Update via API while making push requests use:
curl --location 'https://<base-url>/ingestion/v1/domains/<domain-id>/sources/<source-id>/entities/<entity>/status/<incremental_update_id>' \ --header 'Content-Type: application/json' \ --header 'Authorization: <API_KEY>'
Response samples:
{"status":"finished"}
or Response empty then request is not found in our system please retry. {}
Ingestion of some documents might fail after adding more locales after a push API source has been created. In the initial API push setup, we had not accounted for locales being added after source creation.
Solution
To mitigate the issue, you can archive the current source that is showing errors and recreate the source with all locales defined in the initial source setup.
Clarification
For achieving efficiency, we batch incremental updates. If the overall job status is "failed" then all the updates in the batch are failed. Metrics and URL details are aggregation of different steps executed in the batch. Even though URL details say that it was "Successfully indexed" it was not successful as overall job failed. In future we do plan on improving this so we can get the actual status of each incremental update. Status endpoint gives the correct status of every incremental update.