)]}'
{
  "commit": "17f3325b5e44220b5707874dac3ca537402e85d9",
  "tree": "927a4334527bae118b4b7141bfe3b3856d2f6e7c",
  "parents": [
    "b07d40a32edf5dcd0cef5e592861e86c8bb514e7"
  ],
  "author": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Mon Jan 20 09:48:15 2020 +0100"
  },
  "committer": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Mon Jan 20 09:21:27 2020 +0000"
  },
  "message": "RestApiServlet: Include formatted cause into log on internal server error\n\nIf there is an exception that is caused by a temporary error RetryHelper\ntakes care to retry the request for a short time. Most of the time this\nmakes the request be successful, however sometimes the temporary error\npersists for the time of the retry, in which case RetryHelper will throw\nthe exception and RestApiServlet will log it and return \u0027500 Internal\nServer Error\u0027.\n\nWhen looking at the logs of internal server errors one cannot see if the\nexception had triggering retries and timed out or if it was thrown\nwithout retries. This distinction is important if you investigate\ninternal server errors. If there is an internal server error that is\ncaused by a temporary issue, you wonder if retrying for it should be\nadded or if retrying was already in place but didn\u0027t help. This\ninformation can be made available in the logs by including the formatted\ncause, since all exceptions which trigger retries have defined a\ndistinguishable formatted cause.\n\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\nChange-Id: Iac345839b8fc4791b58aeaa4a0b785bb8c2e7b31\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f30fefa79f37a73f5488eea36fd711f83f8b19dc",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/httpd/restapi/RestApiServlet.java",
      "new_id": "722955c616188c84672dd713a6f05a2c3930eaeb",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/httpd/restapi/RestApiServlet.java"
    }
  ]
}
