api_json log doesn't track API requests during database issues
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
A large customer recently had a database issue that led to 500 errors. During this outage, the api_json.log was empty even though users kept submitting API calls. The 500 errors have since been addressed, but the ongoing problem is that the API data didn't get populated during the outage.
I tested this out by stopping the database and continuing to submit API calls on my test instance, and during this time the api_json.log didn't populate. Starting the database populated it again.
This seems to make sense considering that the api_json.log would normally contain data it got from the database. However, it would be prudent for the product to keep track of the API calls made (regardless of whether they succeed or not) even when there are other problems with GitLab, such as an inaccessible database.
This particular customer relies on the data in the api_json.log for troubleshooting various issues, and would like to see this log become a reliable source, even during other kinds of outages.
/cc @conleyr