What is OData recovery mechanism and how many times OData recovery mechanism retries to recover OData API calls during transient errors? Is that until it successful?
Reproducing the Issue
Before : b1711 When metadata is refreshed for module metadata providers which encountered transient errors like DB connection issues will generate an incomplete, error prone metadata and the only way to fix this is trigger another full metadata refresh manually.
Now : From b1711 release The OData API framework has added a mechanism to retry or recover API calls that encounter transient errors, such as database connection issues and module specific recoverable issues. This minimizes the occurrence of "entity not found" errors and the need for manual OData metadata refreshes.
For OData API error recovery:
API framework will
- trigger IncrementalRefreshMetadataJob for modules(metadata provider) which encountered db connection issue as DB connection issue could be transient and maybe there is no db connection issue on job server
- consider to define a exception like COMetadataRecoverableException, when module team throw this exception, framework will trigger IncrementalRefreshMetadataJob and leverage event to do retry if fail with this exception again.
How many times OData recovery mechanism retries to recover OData API calls during transient errors? Is that until it successful? Please clarify?
OData recovery mechanism maximum retries 5 times and then it reaches the limitation, it will not do recovery any more even though OData API call is not successful.
- SuccessFactors OData API
- SF OData API
- OData metadata refresh
- OData recovery mechanism