Project

General

Profile

Feature #15318

Updated by Tom Clegg over 5 years ago

Background: 
 * Some SDKs (including Python) send an X-Request-Id value with each API request, but the calling application doesn't necessarily report it to the user. 
 * Controller adds an X-Request-Id value to each request if the caller didn't supply one -- so every RailsAPI request has an X-Request-Id value. 
 * Each RailsAPI error response has an "error token" value generated by RailsAPI, which is meant to help correlate client-reported errors with RailsAPI server logs. However, the calling application doesn't necessarily report this to the user along with the error message. 

 Improvement: Every RailsAPI error response should include the current X-Request-Id value _in the message text._ 

 This way, even tools that only display the error message itself without response metadata -- e.g., arvados-cwl-runner -- will convey the request ID to the user, and ops can use that error report to grep RailsAPI, controller, and nginx logs for related entries. 

Back