)]}'
{
  "commit": "ed80360d7ec515c21db57d132b7388c7e3a31f1d",
  "tree": "68617d007d666cde71158db46339db9ce8633166",
  "parents": [
    "cc909473eadd7779dd53069abf28675b9b03d7a0"
  ],
  "author": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Fri Jan 17 14:22:47 2020 +0100"
  },
  "committer": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Fri Jan 17 14:33:01 2020 +0100"
  },
  "message": "RestApiServlet: Do not count non-error-exceptions as ISE if response is already committed\n\nIf an exception occurs we return \u0027500 Internal Server Error\u0027 by default.\nHowever ExceptionHook implementations can decide to return a different\nresponse status, e.g. if an exception is caused by a client that\ndisconnects, an exception hook could return \u0027499 Client Closed Request\u0027,\nwhich is not an internal server error. If this happens, we increase the\nhttp/server/rest_api/error_count metric for the status code that was\nreturned by the exception hook, however this only worked if the response\nwas not committed yet. If the response was already committed we counted\nall exceptions as \u0027500 Internal Server Error\u0027, although an exception\nwould have returned a different response code. This is bad because it\ncan eat up the SLO budget.\n\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\nChange-Id: If6fd0b543a3d385a2d354f8604202f1663b89242\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4db92174daeb3577e9dd13a83853ad007e153b8f",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/httpd/restapi/RestApiServlet.java",
      "new_id": "cca4f6944924e26afdffcac155eb9c51137f31db",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/httpd/restapi/RestApiServlet.java"
    }
  ]
}
