)]}'
{
  "commit": "ac11302639d47a275a3d520f3b45b6bb673c7706",
  "tree": "9e0f7e85a17787c7390a65764dc544f2ef738b26",
  "parents": [
    "5a5ea1586a4d8bdaf8824a877c86b547eb73a489"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Apr 08 00:16:30 2021 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Apr 08 00:16:30 2021 +0300"
  },
  "message": "Changed keepalive_requests default to 1000 (ticket #2155).\n\nIt turns out no browsers implement HTTP/2 GOAWAY handling properly, and\nlarge enough number of resources on a page results in failures to load\nsome resources.  In particular, Chrome seems to experience errors if\nloading of all resources requires more than 1 connection (while it\nis usually able to retry requests at least once, even with 2 connections\nthere are occasional failures for some reason), Safari if loading requires\nmore than 3 connections, and Firefox if loading requires more than 10\nconnections (can be configured with network.http.request.max-attempts,\ndefaults to 10).\n\nIt does not seem to be possible to resolve this on nginx side, even strict\nlimiting of maximum concurrency does not help, and loading issues seems to\nbe triggered by merely queueing of a request for a particular connection.\nThe only available mitigation seems to use higher keepalive_requests value.\n\nThe new default is 1000 and matches previously used default for\nhttp2_max_requests.  It is expected to be enough for 99.98% of the pages\n(https://httparchive.org/reports/state-of-the-web?start\u003dlatest#reqTotal)\neven in Chrome.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bbd650b791bed65da99c58c0a371050005b221d6",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_upstream_keepalive_module.c",
      "new_id": "1a4dfd77665129c2dea4d7fef4544c3bc1d84e75",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_upstream_keepalive_module.c"
    },
    {
      "type": "modify",
      "old_id": "9dda27a104c6e7954f9df7badd3c90f41650bb75",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_core_module.c",
      "new_id": "6664fa6c398c43e2f729f3a40ce1bc85a279ff8c",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_core_module.c"
    }
  ]
}
