)]}'
{
  "commit": "a64e2bcd56118ab098ffc08cbb7ec111918eb33c",
  "tree": "0d11cb60703a3b65e26b575edb178d7f45ef8093",
  "parents": [
    "aae040e70e01a76b125384b2b27c84c37199fd31"
  ],
  "author": {
    "name": "Dmitry Volyntsev",
    "email": "xeioex@nginx.com",
    "time": "Mon Mar 02 20:07:36 2020 +0300"
  },
  "committer": {
    "name": "Dmitry Volyntsev",
    "email": "xeioex@nginx.com",
    "time": "Mon Mar 02 20:07:36 2020 +0300"
  },
  "message": "Fixed premature background subrequest finalization.\n\nWhen \"aio\" or \"aio threads\" is used while processing the response body of an\nin-memory background subrequest, the subrequest could be finalized with an aio\noperation still in progress.  Upon aio completion either parent request is\nwoken or the old r-\u003ewrite_event_handler is called again.  The latter may result\nin request errors.  In either case post_subrequest handler is never called with\nthe full response body, which is typically expected when using in-memory\nsubrequests.\n\nCurrently in nginx background subrequests are created by the upstream module\nand the mirror module.  The issue does not manifest itself with these\nsubrequests because they are header-only.  But it can manifest itself with\nthird-party modules which create in-memory background subrequests.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bb69e71d0f29ac3b6088a1b20174b261455869b5",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.c",
      "new_id": "5fcaa2c33e5d3f8c27405908f7cc7841e4a5cfc3",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.c"
    }
  ]
}
