Symptom
You wish to understand why you are receiving a 503 (COE_SERVICE_TEMPORARILY_UNAVAILABLE error) error and what to do about it
Environment
SAP SuccessFactors API Framework
Reproducing the Issue
- API server tries to get metadata from redis cache
- If the cache instance is not available, the metadata will not be retrieved
- In such scenarios, the API server must resolve the metadata for one API request
- In case more and more API requests for that company hit this API server, an increasing number of threads will be triggered to resolve the metadata
Cause
This is expected behaviour, with two potential scenarios:
- When these requests hit one server, only the first one can succeed. Other requests will throw a 503 error which will include a retry-after header of 300 seconds
- When these requests hit different servers, only the first request for each server can succeed. Other requests will throw a 503 error which will include a retry-after header of 300 seconds
Sample Error response is as below:
Response header: retry-after:300 (s)
Response code: 503
Response body:
{"error" :
{"code" : "COE_SERVICE_TEMPORARILY_UNAVAILABLE", *"message" : \{"lang" : "en-US", "value" : "[COE0040]The request has timed out. OData metadata is being generated for the same instance in another thread. Please try again later."}
}}
Resolution
A retry after 300 seconds will resolve the error.
See Also
KBA 2524436 - Q32017 (1708) Enhancement & Features for API-7426
Keywords
PTCH-39185, COE0040, 503, COE_SERVICE_TEMPORARILY_UNAVAILABLE, , KBA , LOD-SF-INT-API , API & Adhoc API Framework , LOD-SF-INT , Integrations , LOD-SF-INT-ODATA , OData API Framework , LOD-SF-INT-CE , Compound Employee API , Problem